繁体   English   中英

如何使Yii在Many_Many关系上具有条件

[英]How make Yii condition on Many_Many relations

有桌子:

    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获取电影?

如果我正确地阅读你的关系,这应该有效。

$res = Place::model()->with('movies')->findAll(array('condition'=>'movies.state =1'));

在任何情况下,请参阅文档以获取更多高级查询选项:) http://www.yiiframework.com/doc/api/1.1/CActiveRecord#find-detail

如果是条件状态:

$state = $_POST['state'];
$res = Place::model()->with('movies')->findAll(array('condition'=>'movies.state=:m_state', 'params'=>array(':m_state'=>$state)));

根据Yii的版本,您可以删除params数组键中的“:”。 阅读它们并将之前的答案标记为最佳。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM