Если учесть, что запрос, насколько я понял, не первый, и до этого запросы к A и B работали без вопросов, то постарайтесь заново строку переписать возможно что то напортачено. Либо проверьте соответствие b.ID к INTEGER.
Это единственное что может у меня придти на ум.
Андрей, Да и a и b это integer, если поменять их местами то так же будет ругаться но на другое поле, я делал запрос в самом SQL server [a].[ID = [b].[ID] и все работает, а yii2 почему-то превращает в [a].[ID] = 'b.ID'
Ну так напиши ->Where(['a.ID = b.ID']); и не заморачивайся...
PS. Вообще создаётся впечатление, что в формате массива уй однозначно считает, что ему предоставляют данные в форме [column => value], т.е. правое выражение считается литералом и даже не рассматривается как поле.
Пожалуйста, укажите мне, что именно прочитано неверно. Я пока этого не вижу. Это будет полезно - не только и даже не столько мне, сколько тем, кто использует Yii.
В своём ответе Вы пишете, что это баг. Дайте, пожалуйста, соотв. ссылку на багтрак.
phpNoobIvan, да там без пол литра не разберёшься, билдер на 2к строк, ну по логике там так должно быть
Одним глазом глянул с тела, вроде не через placeholder, просто тип проверяет и добавляет кавычки
Дмитрий, Дима, ты не прав, в yii2 проблемы с репликой!
И я не использую репликацию в связке с кэшем.
В чем проблема?
Если у тебя есть идея, то покажи ее.
К примеру, я сейчас в процессе разработки приложения, которое будет работать с кэшами.
Но, это приложение будет иметь свой кеш для хранения данных.
У меня сейчас нет идей как это реализовать.
Но я и хочу узнать как реализовать это в yii2.
Если не хочешь, то не надо, я пойму.
А то у меня уже нервы на пределе
phpNoobIvan, ну я бы не стал использовать для этого фреймворк, особенно yii, а так я не понял причём тут кэш. Если надо расширить возможности приложения, можно запилить, что то свое, и прикрутить