Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/62.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 如何通过queryBuilder在Yii2中构建此sql查询?_Php_Mysql_Sql_Yii2 - Fatal编程技术网

Php 如何通过queryBuilder在Yii2中构建此sql查询?

Php 如何通过queryBuilder在Yii2中构建此sql查询?,php,mysql,sql,yii2,Php,Mysql,Sql,Yii2,如何使用queryBuilder在Yii2框架中获得以下查询?我想使用运算符格式,但我不明白如何处理或条件 SELECT "user_data".* FROM "user_data" LEFT JOIN "user" ON "user_data"."user_id" = "user"."id" WHERE (create_date <= NOW() - INTERVAL '1 WEEK') AND ((("user_id"='1') and ("last_visit" IS NULL))

如何使用queryBuilder在Yii2框架中获得以下查询?我想使用运算符格式,但我不明白如何处理或条件

SELECT "user_data".* FROM "user_data" LEFT JOIN "user" ON "user_data"."user_id" = "user"."id" WHERE (create_date <=  NOW() - INTERVAL '1 WEEK') AND ((("user_id"='1') and ("last_visit" IS NULL))  OR ("email_status"=0));
选择“用户数据”。*从“用户数据”左键加入“用户数据”中的“用户”。“用户id”=“用户”。“id”其中(创建用户日期连接('user'))

->其中(“create_date您需要以这种方式嵌套条件:

UserDataModel::find()
    ->joinWith('user')
    ->where("create_date <=  NOW() - INTERVAL '1 WEEK'")
    ->andWhere([
        'or'
        [
            'and',
            ['is', 'last_visit', null],
            ['in', 'user_id', $array],
        ],
        ['email_status' => self::STATUS_INACTIVE],
    ])
    ->createCommand()
    ->getRawSql();
UserDataModel::find()
->joinWith('用户')

->where(“create_date see docs:@Luuk这个问题是关于Yii 2的,你已经链接了Yii 1.1的文档。好的,所以我应该链接到,但是这个问题问的是什么,不看文档?
SELECT "user_data".* FROM "user_data" LEFT JOIN "user" ON "user_data"."user_id" = "user"."id" WHERE (create_date <=  NOW() - INTERVAL '1 WEEK') AND (("last_visit" IS NULL) AND ("user_id"='1') AND ("email_status"=0))
UserDataModel::find()
    ->joinWith('user')
    ->where("create_date <=  NOW() - INTERVAL '1 WEEK'")
    ->andWhere([
        'or'
        [
            'and',
            ['is', 'last_visit', null],
            ['in', 'user_id', $array],
        ],
        ['email_status' => self::STATUS_INACTIVE],
    ])
    ->createCommand()
    ->getRawSql();