HABTM を扱うときの Hash::extract の構文を理解するのに苦労しています。
次のような find() から返されるデータがあります。
array(
(int) 0 => array(
'EventsGroup' => array(
'id' => '34',
'event_id' => '5',
'group_id' => '1'
)
),
(int) 1 => array(
'EventsGroup' => array(
'id' => '29',
'event_id' => '2',
'group_id' => '1'
)
)
)
次のような配列を取得しようとしています。array(x,y,z)
ここで、x、y、z はevent_id
's です。
Cake のドキュメントの例は次のようになります。
$users = $this->User->find("all");
$results = Hash::extract($users, '{n}.User.id');
それに基づいて、私は試しました:
$eventsGroups = $this->EventsGroup->findAllByGroupId($groupid);
$secEvents = Hash::extract($eventsGroups, '{n}.{EventsGroup}.event_id' );
$secEvents2 = Hash::extract($eventsGroups, '{n}.EventsGroup.event_id' );
$secEvents3 = Hash::extract($eventsGroups, '{n}.[text=EventsGroup].event_id);
どれもうまくいきませんでした。
Hash::extract を使用せずに必要なものを取得する方法を見つけましたが、他の方法のいくつかが後で役立つので、それを使用したいと思います。
どんな助けや指針も大歓迎です!
ありがとう