特定の値を入力したユーザーをカスタムユーザーフィールドに返す関数を書きたいのですが。
すべてのユーザーにカスタムの誕生日フィールドがあるとしましょう。特定の誕生日を持つすべてのユーザーを取得するための最良の方法は何ですか?
Field_data_field_birthdayテーブルを検索し、field_birthday_valueが指定された値と一致するentity_id(この場合はユーザーID)を返すDBクエリを作成して、ユーザーをロードできます。
これは少し粗雑に思えますが、このユースケースで使用できる汎用関数はありますか?エンティティAPIまたはフィールドAPIのどちらでしょうか?
私が尋ねたユースケースの簡単な例:
$query = new EntityFieldQuery();
$query->entityCondition('entity_type', 'user')
->fieldCondition('field_birthday', 'value', $birthday);
$result = $query->execute();
$users_ids = array_keys($result['user']);