【发布时间】:2016-06-25 00:53:35
【问题描述】:
我目前有 2 个数据库表,一个包含节目列表,另一个包含这些节目的播放时间。
所以我在两者之间有一个 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')
我知道我可以简单地输入一个 if 语句来检查 $thefilm->filmtimes 是否已设置,但理想情况下,我想在一个 db 点进行检查,以避免在检查之前将所有电影都拉出。
有什么方法可以让我在 findAll 中存在关系吗?
任何指针将不胜感激。
问候 巫师
【问题讨论】:
标签: php activerecord yii