【问题标题】:how to use subquery inside select statement of yii2如何在yii2的select语句中使用子查询
【发布时间】:2018-02-12 07:04:29
【问题描述】:

我有一个如下查询。

 $subQuery = (new Query())->select('is_approved')->from('user_requests')->where(['user_ref_id' => yii::$app->user->id])->andWhere(['AND','project_ref_id = p.project_id']);

这是我试图在下面的 select 语句中调用的子查询

 $Query = (new Query())->select(['project_id','IF(p.project_type_ref_id = 2, '.$subQuery.', "" ) AS project_request_id'])
                             ->from('projects AS p');

如果我尝试执行查询,我在添加 $subQuery 的行中遇到错误

PHP Recoverable Error – yii\base\ErrorException
Object of class yii\db\Query could not be converted to string

如何在 select 语句中添加子查询。请帮忙。提前致谢!!

【问题讨论】:

标签: yii yii2 yii2-advanced-app yii2-basic-app yii2-model


【解决方案1】:

由于您想将第一个查询用作纯字符串添加

->createCommand()->rawSql;

到它。这会从 Query 对象中生成 SQL 语句。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2021-06-19
    • 2011-12-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-08-08
    • 1970-01-01
    相关资源
    最近更新 更多