0

私はこれをかなり検索しましたが、それを何と呼ぶか​​さえ知りません。

簡略化されたバージョンでは、次のモデルがあります。

  • Person(ID、名前) - hasMany:ArrivalDate
  • Country(ID、名前) - hasMany:Person
  • ArrivalDate(id、arrival_date、salesman_id) - 所属先: Person, Salesman(className => Person)

ご覧のとおり、到着日を指定した人々とセールスマンを 1 つのテーブルにまとめようとしています。

データを取得したら、containable 動作を使用して必要なモデルのみを取得します。

$person = $this->Person->find('first', array(
    'conditions' => array('Person.id' => $id),
    'contain' => array(
        'Country',
        'ArrivalDate'
    )
));

しかし、問題は次のとおりです。これにどのように「含める」のSalesmanですか?

Salesmanの単なるエイリアスでありPerson、モデルが含まれている場合はPerson、親データを取得するだけです。エイリアス ( Salesman) を含めようとすると、エラーが発生します。

4

1 に答える 1

1
'contain' => array(
        'Country',
        'ArrivalDate',
        'ArrivalDate.Salesman' => array( insert needed fields here ... )
    )

あなたのケースで動作するはずです

于 2013-10-03T08:38:00.140 に答える