/ / yii2 - yii、yii2、yii2-advanced-app、yii2-basic-app、yii2-modelのselectステートメント内でサブクエリを使用する方法

yii2 - yii、yii2、yii2-advanced-app、yii2-basic-app、yii2-modelのselect文の中でのサブクエリの使い方

私は以下のような質問があります。

 $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 – yiibaseErrorException
Object of class yiidbQuery could not be converted to string

select文にサブクエリを追加する方法。助けてください。前もって感謝します !!

回答:

回答№1は0

純粋な文字列として最初のクエリを使用したいのでadd

->createCommand()->rawSql;

それに。 QueryオブジェクトからSQL文が生成されます。