Tôi đã thêm một trường mới trong trường quản lý trang người dùng. Đây là một trường đa trị số nguyên mẫu. (chúng ta có thể nhập một số nguyên)
Tôi đã chỉnh sửa hồ sơ của người dùng quản trị. Tôi đã thêm (và lưu) một số giá trị trong trường này:
42
66
23
77
Trong một mô-đun tùy chỉnh, tôi tải người dùng hiện tại và tôi muốn hiển thị tất cả các giá trị của trường đa trị số nguyên của mình:
// Load the current user.
$user = \Drupal\user\Entity\User::load(\Drupal::currentUser()->id());
// Get field data from that user.
$mycustomfield = $user->get('field_mycustomfield');
nhưng khi tôi in $ mycustomfield-> getValue (), tôi chỉ nhận được giá trị đầu tiên:
// Display values
kint($mycustomfield->getValue()); // return only 42, but I want get 42, 66, 23, 77
Làm cách nào tôi có thể nhận được TẤT CẢ các giá trị của trường tùy chỉnh?
Cảm ơn :)
BIÊN TẬP
Tôi thử cái này ...
// Load the current user.
$user = \Drupal\user\Entity\User::load(\Drupal::currentUser()->id());
// Set and save field data from that user.
$user->get('field_mycustomfield')->setValue(array(1,2,3,4,5));
$user->save();
// And display
$user = \Drupal\user\Entity\User::load(\Drupal::currentUser()->id());
$user_mycustomfield = $user->get('field_mycustomfield')->getValue();
kint($user_mycustomfield); // print array(1.2.3.4.5) x)
Với người dùng mới, nếu tôi đặt một vài giá trị từ trang chỉnh sửa hồ sơ người dùng của anh ấy, getValue () chỉ trả về giá trị đầu tiên
Nhưng nếu tôi đặt một vài giá trị thông qua api, tôi có thể nhận được tất cả các giá trị với getValue
Nó thực sự kỳ lạ ..