Я перепроверил, для достоверности чуть поправил запросы...
Код: Выделить всё
BidBanner::find()
->joinWith('user')
->where('`users`.`wallet` >= bid_banners.bid')
->where(['>=', '`users`.`wallet`', new Expression('bid_banners.bid')])
->one()
Код: Выделить всё
BidBanner::find()
->joinWith('user')
->where(['>=', '`users`.`wallet`', new Expression('bid_banners.bid')])
->where('`users`.`wallet` >= bid_banners.bid')
->one()
Эти два запроса теперь вообще генерирую одинаковый sql:
Код: Выделить всё
SELECT `bid_banners`.* FROM `bid_banners` LEFT JOIN `users` ON `bid_banners`.`user_id` = `users`.`id` WHERE `users`.`wallet` >= bid_banners.bid
я смотрю в дебаг-баре, сам sql не пишу;)
И точно выдача у меня разная... При первом запросе если вывести вардампом содержание у меня
["bid"]=>
string(5) "500.0"
...
["user"]=>
["wallet"]=>
string(5) "300.0"
При втором запросе у меня:
["bid"]=>
string(5) "555.0"
...
["user"]=>
["wallet"]=>
string(6) "1000.0"