0
我有一個模型調用播放列表。 播放列表與跟蹤HABTMCakePHP。找到返回多個HABTM關係
public $hasAndBelongsToMany = array(
'Track' => array(
'className' => 'Track',
'joinTable' => 'tracklists_tracks',
'foreignKey' => 'tracklist_id',
'associationForeignKey' => 'track_id',
'unique' => 'keepExisting',
'conditions' => '',
'fields' => array('id','title','version'),
'order' => 'TracklistsTrack.timing'
)
);
跟蹤與APPUSER一個HABTM現在
public $hasAndBelongsToMany = array(
'Artist' => array(
'className' => 'AppUser',
'joinTable' => 'artists_tracks',
'foreignKey' => 'track_id',
'associationForeignKey' => 'artist_id',
'unique' => 'keepExisting',
'conditions' => '',
'fields' => array('id','username')
)
);
,我想,當我寫這篇文章
$曲目列表= $這個 - > Tracklist- > findById($ ID);
爲每個曲目獲取所有曲目(並且這的確按照預期工作),併爲每個曲目的所有AppUsers(級聯)。
請注意,如果我寫$ this-> Track-> findById($ id); 我實際上可以獲得與該曲目相關的AppUsers
任何想法都可以通過我的勤奮命名約定來開箱即用嗎?
謝謝
下能否請您寫這兩種模式?我與AppUser和Artist混淆。 – chetanspeed511987
建議:通常您應該將您的HABTMs轉換爲hasMany,就像加入模型一樣,以獲得更好的靈活性。 habtms變得非常難以管理,你可以閱讀:http://book.cakephp.org/2.0/en/models/associations-linking-models-together.html#hasmany-through-the-join-model和http:// book.cakephp.org/2.0/en/models/saving-your-data.html#what-to-do-when-habtm-becomes-complicated –
當然,Artist是我用於AppUser的別名,因爲曲目會有藝術家,但也有AppUsers的混音師。 – Snick