1

グローバル $user;

$items = field_get_items('user', $user, 'field_patientid', $user->language);

ユーザー エンティティにフィールドがあり、デバッグで常に FALSE の値を取得します。

私のデータベースには、ユーザーである正しいエンティティタイプがあります。値が得られないのはなぜですか?

次を使用して値を引き上げることができます。

$user_fields->field_patientid['und']['0']['value'];

上記のステートメントが機能しないのはなぜですか?

4

1 に答える 1

3

のコードを見ると、field_get_items()探しているフィールド情報が関数によって返されるためには、その情報が既に$userオブジェクトに含まれている必要があることがわかります。

ただしglobal $user、フィールド データは提供しません。

http://api.drupal.org/api/drupal/developer%21globals.php/global/user/7#comment-13744より

グローバル ユーザー オブジェクトには、Drupal コアからのいくつかの基本データが含まれています。コア プロファイル モジュールを含む、他のモジュールからのデータは自動的には含まれません。ユーザー オブジェクト内のすべてのデータを取得するには、完全なuser_load()を実行する必要があります。

于 2012-04-09T20:32:20.807 に答える