@Cyberjs

Почему добавляются кавычки?

запрос
->Where(['a.ID' => 'b.ID']);
ошибка
Ошибка преобразования значения nvarchar "b.ID" в тип данных int.
запрос в браузере где ошибка
([a].[ID] = 'b.ID')
Почему добавляются кавычки?
  • Вопрос задан
  • 352 просмотра
Пригласить эксперта
Ответы на вопрос 1
@PiloTeZ
...
Это не баг. Первое значение - название колонки, поэтому не экранируется. Второе - значение, поэтому оборачивается в кавычки.

Решение
// Вариант 1
->where('a.ID = b.ID');
// Вариант 2
->where(['a.ID' => new \yii\db\Expression('b.ID')]);


https://www.yiiframework.com/doc/api/2.0/yii-db-ex...
https://www.yiiframework.com/doc/guide/2.0/ru/db-q...
Ответ написан
Комментировать
Ваш ответ на вопрос

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

Похожие вопросы