我有两张桌子:"用户"其中包含用户数据和"帖子"其中包含用户的帖子。每个用户都可以有很多帖子。
用户
帖子
我想要做的是隐藏没有帖子的用户,所以我尝试在搜索模型中加入表格:
public function search($params) {
$query = Users::find->joinWith(['posts']);
}
但不幸的是,没有帖子的用户仍然显示。
答案 0 :(得分:0)
使用mysql WHERE NOT NULL
语法
$query = Users::find->joinWith(['posts'])->where(['not', ['posts.post_no' => null]]);
WHERE NOT NULL Yii2的替代语法:
->where(['IS NOT', 'posts.post_no', null]);
->where(['<>', 'posts.post_no', null]);
->having(['posts.post_no' => 'NOT NULL']);
请查看官方文档: http://www.yiiframework.com/doc-2.0/yii-db-query.html#where()-detail