web-dev-qa-db-ja.com

プログラムでフィールドのカーディナリティを取得する方法

それらの段落が依存するエンティティのフィールドに対する段落の繰り返し制限の数を取得する方法はありますか?

CSVデータから取得したデータに従って段落を作成し、そのターゲットID(およびターゲットリビジョンID)をプログラムでユーザーフィールドに挿入するコードを書いています。

各ユーザーフィールドの段落の繰り返し制限は異なります。一部のユーザーフィールドでは、段落の繰り返しが数回しか許可されておらず、他のフィールドでは10回の繰り返しが想定されています。

したがって、私の推測が正しかった場合、CSVからデータを収集するときに数値を取得できると便利です。それが私が質問している理由です。

1
863

コメントをありがとう、私は数(カーディナリティ)を取得する方法を見つけました。それが誰かを助けることを願っています。

(array) $user_fields = \Drupal::service('entity_field.manager')->getFieldDefinitions('user', 'user');

foreach ($user_fields as $user_field_name => $user_field_definition) {
    (array) $cardinality = $user_field_definition->get('fieldStorage')->get('cardinality');
}
1
863