一首歌可以有多个歌手和多个作者。这是重叠的,所以一些歌手写歌,一些作家唱歌--也就是说,不需要两张分开的桌子。我应该如何建立关系,这样才能有一个单独的" artists“表,所以当我添加一首歌曲时,是否将其中一个/某些艺术家设置为歌手,并将其中一个/一些设置为作者?
顺便说一句(无关的),我正在使用一个名为"Petit“的应用程序来创建数据库结构并烘焙该应用程序:http://patisserie.keensoftware.com/en
发布于 2013-09-24 00:24:07
您可以在Song模型中使用别名,如下所示:
$this->Song->hasAndBelongsToMany(
'Writer'=>array(
'className'=>'Artist',
'joinTable'=>'writers_songs'
)
);
$this->Song->hasAndBelongsToMany(
'Singer'=>array(
'className'=>'Artist',
'joinTable'=>'singers_songs'
)
);当然,您还需要您的关联表writers_songs和artists_songs。
查看the manual for HABTM
https://stackoverflow.com/questions/18962203
复制相似问题