我正在尝试创建一个将在 CActiveDataProvider 中使用的 CDbCriteria,我需要在多对多关系的另一侧查询一个值。
我有以下表格:order、user_order 和 user
正确声明了关系,因此我可以访问 $order->users[0] 并正确查看数据。
我正在尝试建立以下标准:
$criteria=new CDbCriteria;
$criteria->with = array('users');
if (isset($_SESSION['hideCard'])){
$criteria->condition = "fname != 'Card'";
}
return new CActiveDataProvider(get_class($this), array(
'criteria'=>$criteria,
'pagination'=>array('pageSize'=>40)
));
这基本上意味着如果设置了会话变量,我想从 DataProvider 中隐藏所有 fname 为“Card”的用户。
关于如何在多对多关系中实现这一点的任何想法?