我有3个模特(艺术家,媒体项目,口音)
艺术家有很多媒体项目, 媒体项目具有AndBelongsToMany重音符,
现在我遇到的问题是如何使用分页搜索,我需要获得8位艺术家的页面和与输入的重音相匹配的media_items。希望这是有道理的。
这就是我目前的
$this->Paginator->settings = array(
'limit' => 8,
'fields' => array("Artist.first_name",
"Artist.last_name", "Artist.image",
"Artist.image", "Artist.slug"),
'order' => "Artist.last_name",
'url' => $this->passedArgs,
'contain' => array(
'MediaItem'=> array(
"fields" => array("MediaItem.file",
"MediaItem.title",
"MediaItem.accent",)
),
'joins' => array(
array(
'table' => 'media_items',
'type' => 'INNER',
'alias' => 'MediaItem',
'conditions' => array(
"AND" => array('Artist.id = MediaItem.artist_id')
)
),
array(
'table' => 'media_accents_media_items',
'type' => 'RIGHT',
'alias' => 'MediaAccentsMediaItems',
'conditions' => array(
"AND" => array('MediaAccentsMediaItems.media_item_id = MediaItem.id')
)
),
array(
'table' => 'media_accents',
'type' => 'RIGHT',
'alias' => 'MediaAccent',
'conditions' => array(
"AND" => array('MediaAccent.id = MediaAccentsMediaItems.media_accent_id'),
"OR" => array('MediaAccent.name LIKE' => "%".$searchFor ."%")
)
)
),
'group' => 'Artist.id',
'update' => '.results-container',
'evalScripts' => true
);
它会得到合适的艺术家,但会返回他们所有的曲目而不是我需要的曲目。有没有更好的方法而不是循环修剪它们的结果?这是我目前的备份计划。