何時間も解決しようとしてきた問題があります。書籍モデル、著者モデル、および国モデルがあるとします。
ブック エントリを表示すると、ページの下部に関連オブジェクトが表示されます。この場合、著者。
このページには、著者の関連データ、著者の名前、およびその他の詳細が表示されます。ただし、国は country_id として表示されます。
それを国名に変更する方法はありますか?
アップデート:
次の 3 つのテーブルがあります。 Book HMBM Authors H Country
本は多くの著者によって書かれている場合があります (アンソロジーの場合)
著者は多くの本を書くかもしれない
著者はある国に居住している場合があります
国は多くの著者をホストする場合があります。
本:
public $hasAndBelongsToMany = array(
'Author' => array(
'className' => 'Author',
'joinTable' => 'author_books',
'foreignKey' => 'book_id',
'associationForeignKey' => 'author_id',
'unique' => '',
'conditions' => '',
'fields' => '',
'order' => '',
'limit' => '',
'offset' => '',
'finderQuery' => '',
'deleteQuery' => '',
'insertQuery' => ''
)
);
著者:
public $hasMany = array(
'Book' => array(
'className' => 'Book',
'foreignKey' => 'book_id',
'dependent' => false,
'conditions' => '',
'fields' => '',
'order' => '',
'limit' => '',
'offset' => '',
'exclusive' => '',
'finderQuery' => '',
'counterQuery' => ''
)
public $belongsTo = array(
'Country' => array(
'className' => 'Country',
'foreignKey' => 'country_id',
'conditions' => '',
'fields' => '',
'order' => ''
)
国:
public $hasMany = array(
'Author' => array(
'className' => 'Author',
'foreignKey' => 'country_id',
'dependent' => false,
'conditions' => '',
'fields' => '',
'order' => '',
'limit' => '',
'offset' => '',
'exclusive' => '',
'finderQuery' => '',
'counterQuery' => ''
)