yii关系has_many过滤



i当前有2个dB表,其中一个包含一个节目列表,其中一个包含这些节目的时间。

所以我在两个之间有一个has_many的关系。

我已经成功地通过has_many的关系汲取了与它们相关的电影。

我正在挣扎的部分是我想展示有时间对抗它们的前10部电影(有些没有)。下面的代码仅将其是否有时间反对的前10个无关紧要:

$films=filmrecord::model()
     ->findAll(array(
         'order' => 'priority',
         'limit' => 10
     ));
foreach ($films as $thefilm) {
        array_push($filmListings, array(
            'id' => $thefilm->id,
            'title' => $thefilm->title,
            'url' => $thefilm->url,
            'poster_url' => $thefilm->p_url,
            'times' => $thefilm->filmtimes
        ));
 }
return filmListings;

我正在使用的has_many关系是:

 'filmtimes' => array(self::HAS_MANY, 'FilmsTimesRecord', 'film_id')

我知道我可以简单地提出一份语句以检查是否设置了$ thefilm-> filmtimes,但是理想情况下,我想在DB点进行检查,以免在检查之前必须将所有电影删除。

有什么办法可以在Findall中存在关系?

任何指针都将不胜感激。

问候wizzer

请尝试使用has_many关系的所有电影记录查找所有电影。

'filmtimes' => array(self::HAS_MANY, 'FilmsTimesRecord', 'film_id')
$films=filmrecord::model()->with('filmtimes')->findAll(array('order' => 'priority','limit' => 10));

最新更新