Tôi có API tùy chỉnh để tạo mới khách hàng
hồ sơ với các địa chỉ / email khác nhau:
$profileStorage->tạo([
'loại' => 'khách hàng',
'uid' => $this->currentUser->id(),
'trạng thái'=> 1,
'địa chỉ' => $addressData
])
$profile->setDefault(true);
$profile->save();
Nó hoạt động tạo các hồ sơ đó và đính kèm chúng với người dùng hiện tại. Tuy nhiên, sau bất cứ khi nào tôi cố gắng chỉnh sửa các trường tài khoản của người dùng hoặc chỉ sử dụng $user->xác thực()
tôi nhận được lỗi này:
"customer_profiles: Hồ sơ khách hàng: trường này không thể chứa nhiều hơn 1 giá trị."
Tuy nhiên, Loại hồ sơ khách hàng đã chọn cả "Cho phép nhiều hồ sơ trên mỗi người dùng" và "Hồ sơ thuộc loại này đại diện cho hồ sơ khách hàng Thương mại".
Đây là trường hợp trong Drupal 8 và 9.
CẬP NHẬT:
Có vẻ như lỗi này thực sự xảy ra tại $entity->xác thực()
, không bật tiết kiệm()
Đây là nội dung của core.entity_form_display.profile.customer.default.yml
uuid: xxx7f0e2-d809-4d2b-9388-af399c98xxxx
mã ngôn ngữ: en
trạng thái: đúng
phụ thuộc:
cấu hình:
- field.field.profile.customer.address
- field.field.profile.customer.field_email
- hồ sơ.type.khách hàng
mô-đun:
- Địa chỉ
thi hành:
mô-đun:
- thương mại_đặt hàng
_cốt lõi:
default_config_hash: xxxxVkJkUSPhil9xxxxdTivMqxCUloT_71AHWxxxx
id: profile.customer.default
targetEntityType: hồ sơ
gói: khách hàng
chế độ: mặc định
Nội dung:
Địa chỉ:
gõ: address_default
trọng lượng: 0
khu vực: nội dung
cài đặt: { }
third_party_settings: { }
trường_email:
gõ: email_default
trọng lượng: 1
khu vực: nội dung
cài đặt:
giữ chỗ: ''
kích thước: 60
third_party_settings: { }
ẩn giấu: { }
và nội dung của hồ sơ.type.customer.yml
uuid: xxxx4f32-xxxx-xxxx-xxxx-bd10470bxxxx
mã ngôn ngữ: en
trạng thái: đúng
phụ thuộc:
thi hành:
mô-đun:
- thương mại_đặt hàng
third_party_settings:
thương mại_đặt hàng:
customer_profile_type: true
_cốt lõi:
default_config_hash: xxxxAQDUxxxxwavxxxxlcbJx9xxxxFtCq8l73Axxxx
id: khách hàng
nhãn: Khách hàng
display_label: 'Thông tin khách hàng'
nhiều: đúng
đăng ký: sai
vai trò:
xác thực: xác thực
verify_email: đã xác minh_email
đã xác minh_cc: đã xác minh_cc
allow_revisions: sai
new_revision: sai