0

CakePHPに問題があります。私は多くの方法をテストしましたが、その解決策を見つけることができません。私はこれらのテーブルを持っています:

ユーザー

id
name
country_code

code
title

スキル

code
title

役割

id
title

イベント

id
title
country_code

events_users

event_id
user_id
role_id
skill_code

events hasAndBelongsToMany usersとevents_usersは私の結合テーブルであり、データを読み取ると、次のようになります。

array(
    (int) 0 => array(
        'Event' => array(
            'id' => '1',
            'title' => '40th WorldSkills Competitions',
            'year' => '2011',
            'country_code' => 'LV',
            'created' => '2013-02-08 00:00:00'
        ),
        'User' => array(
            (int) 0 => array(
                'password' => '*****',
                'id' => '14',
                'name' => 'test',
                'family' => 'testian',
                'username' => 'test@mail.me',
                'country_code' => 'BR',
                'telphone' => '465465',
                'avatar' => 'avatar_51299c1da268f20110912043238_rodekamp_04.jpg',
                'address' => 'AA',
                'admin' => '0',
                'created' => '2013-02-24 05:50:37',
                'modified' => '2013-02-24 05:50:37',
                'EventsUser' => array(
                    'id' => '1',
                    'user_id' => '14',
                    'event_id' => '1',
                    'role_id' => '1',
                    'skill_code' => '17',
                    'manage' => '100'
                )
            ),
            (int) 1 => array(
                'password' => '*****',
                'id' => '5',
                'name' => 'John',
                'family' => 'Smith',
                'username' => 'john@me.com',
                'country_code' => 'IE',
                'telphone' => '147',
                'avatar' => '20120504124040_franziska_peter_ok.jpg',
                'address' => 'No 55',
                'admin' => '0',
                'created' => '2013-02-10 15:24:13',
                'modified' => '2013-02-10 15:28:50',
                'EventsUser' => array(
                    'id' => '2',
                    'user_id' => '5',
                    'event_id' => '1',
                    'role_id' => '2',
                    'skill_code' => '17',
                    'manage' => '0'
                )
            ),
            (int) 2 => array(
                'password' => '*****',
                'id' => '4',
                'name' => 'hadi',
                'family' => 'mm',
                'username' => 'design.zerzem@gmail.com',
                'country_code' => 'AE',
                'telphone' => '415456',
                'avatar' => '',
                'address' => 'sadjfklsaf asd f',
                'admin' => '0',
                'created' => '2013-02-10 09:01:28',
                'modified' => '2013-02-24 06:43:42',
                'EventsUser' => array(
                    'id' => '3',
                    'user_id' => '4',
                    'event_id' => '1',
                    'role_id' => '4',
                    'skill_code' => '17',
                    'manage' => '0'
                )
            )
)

大丈夫ですが、events_usersを使用して、events_users(skill_codeとrole_id)にあるスキルと役割に関するデータを取得したいと思います。このすべてのデータを取得するためのモデルをどのように作成する必要がありますか?

4

1 に答える 1

2

「hasManyThrough」について読むことであなたの質問に答えられると思います。

基本的に、結合テーブルのモデルを作成し、それを他のモデルと同じように関連付けることができます。

データを取得するときは、CakePHPのContainable動作を使用します(これまでに使用したことがない場合は、中毒になる準備をしてください)。

于 2013-03-10T15:35:30.940 に答える