有表格:
place (id, title, state);
movie (id, title, state);
schedule (place_id, movie_id, time);
使用简单的yii模型:
place.relations:
'movies' => array( self::MANY_MANY, 'movie',
'schedule(place_id,movie_id)',
'condition' => 'time > now()' ),
使用简单的yii控制器:
$tmp = new Place();
$res = $tmp->findAll();
var_dump( $res[0]->movies );
yii返回一个包含out状态的完整列表:(
如何使用条件movie.state = 1?
获取电影答案 0 :(得分:2)
如果我正确地阅读你的关系,这应该有用。
$res = Place::model()->with('movies')->findAll(array('condition'=>'movies.state =1'));
在任何情况下,请参阅文档以获取更多高级查询选项:) http://www.yiiframework.com/doc/api/1.1/CActiveRecord#find-detail
答案 1 :(得分:1)
如果是条件状态:
$state = $_POST['state'];
$res = Place::model()->with('movies')->findAll(array('condition'=>'movies.state=:m_state', 'params'=>array(':m_state'=>$state)));
根据Yii的版本,您可以删除params数组键中的“:”。 阅读它们并将之前的答案标记为最佳答案。