ユーザーの「フィールドの管理」ページにフィールドコレクションを追加しました。フィールドマシン名は「houses」です。ユーザーは好きなだけ家を追加できます。
このフィールドコレクションは再グループ化します:
カスタムモジュールで、現在のユーザーを読み込んで、彼の家のすべての値(配列内)の値を取得したいのですが、どうすればよいですか?
私はこれを試しました:
$user = \Drupal\user\Entity\User::load(\Drupal::currentUser()->id());
$user_houses = $user->get('field_houses')->getValue();
ksm($user_houses);
しかし私は得る:
「ユーザー編集」ページで8つの家を設定したので、8つのエントリの配列が表示されます。しかし、私はこのような配列ですべてのデータを取得したいと思います:
house 1 : name1 : size1
house 2 : name2 : size2
...
house 8 : name8 : size8
ありがとうございました :)
私は見つける=)
と:
use Drupal\field_collection\Entity\FieldCollectionItem;
...
$test = FieldCollectionItem::load(3);
たとえば、「3」は、$ user-> get( 'field_houses')-> getValue();によって返される値です。