如何在Yii2中使用不等于查询

Bas*_*mad -1 php phpmyadmin yii yii2 yii2-advanced-app

在此输入图像描述

我有两个表 ad_pool 和 advertisement。ad_pool有一些数据,而advertisement是空的。我使用此代码通过像这样的不等于查询从第一个表中选择值 andWhere(['<>','fisttablekey','second_tbl_key'])。这是我用来检索数据的完整代码,我还上传了图像。

$pool1 = (new Query())>select('p.id,p.cleaner_user_id,p.ad_place_id')
                   ->from('ad_pool p')
                   ->innerJoin('advertisment a' , 'p.id = a.pool_id')
                 ->where(['=','ad_place_id',1])
                 ->andWhere(['<>','p.id','a.pool_id'])
                 ->orderBy(new Expression('rand()'))
                // ->limit(1)
                ->all();
                  var_dump($pool1);
                  exit();
Run Code Online (Sandbox Code Playgroud)

这返回我空数组。需要您的帮助。提前致谢。

C. *_*ris 5

INNER JOIN 关键字选择在两个表中具有匹配值的记录。由于您的广告为空,因此不会返回任何数据。您可以使用 LEFT JOIN 代替。

$pool1 = (new Query())>select('p.id,p.cleaner_user_id,p.ad_place_id')
                   ->from('ad_pool p')
                   ->leftJoin('advertisment a' , 'p.id = a.pool_id')
                 ->where(['=','ad_place_id',1])
                 ->andWhere(['<>','p.id','a.pool_id'])
                 ->orderBy(new Expression('rand()'))
                ->all();
Run Code Online (Sandbox Code Playgroud)

W3Schools 参考