@want2know

Как в yii2 query builder составляют запрос с текстовой строкой (literal string)?

Нужен запрос такого вида
SELECT CategoryID, CategoryName, 'Northwind Category' AS Note
FROM categories;

categories-literal-string-1.gif

Вот это работает:
$query = (new \yii\db\Query())
    ->select("CategoryID, CategoryName, CONCAT('Northwind Category', '' ) AS Note")
    ->from('categories');

Какие есть еще варианты?
  • Вопрос задан
  • 3648 просмотров
Решения вопроса 1
@want2know Автор вопроса
1) Использовать строковую функцию конкатенации вашей СУБД
$query = (new \yii\db\Query())
    ->select("CategoryID, CategoryName, CONCAT('Northwind Category', '' ) AS Note")
    ->from('categories');

2) Использовать Expression
$query = (new \yii\db\Query())
    ->select([
         'CategoryID', 
         'CategoryName', 
         'Note' => new  \yii\db\Expression("'Northwind Category'")])
    ->from('categories');
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
webinar
@webinar Куратор тега Yii
Учим yii: https://youtu.be/-WRMlGHLgRg
$query= (new \yii\db\Query())
    ->from('categories')
    ->where(['Note' => 'Northwind Category'])
    ->all();
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы