0
到现在为止我一直使用yii2
一个SQL查询其工作正常当地但当我把它部署到服务器时,它显示将SQL查询转换为yii2?
我试图改变它的Yii查询,是因为它是一个正确执行以下
$query = $connection->createCommand("SELECT a.name_of_flight, a.time_of_flight, (a.no_of_passenger - b.cnt) as avail, a.no_of_passenger FROM flight_schedule a LEFT JOIN (SELECT flight_time, COUNT(id) AS cnt FROM book_eticket WHERE flight_date='$date' AND company_name = '$comp_name' GROUP BY flight_time) b ON a.id = b.flight_time")->queryAll();
到
$query = (new \yii\db\Query());
$query
->select('a.name_of_flight, a.time_of_flight, (a.no_of_passenger - b.cnt) as avail, a.no_of_passenger')
->from('flight_schedule a')
->leftJoin('flight_time', ('COUNT(id) AS cnt FROM book_eticket'))
->where(array('and', 'flight_date=2016-6-29', 'company_name = Team5'))
->groupBy(['flight_time b','ON a.id = b.flight_time']);
$command = $query->createCommand();
$query = $command->queryAll();
但我得到一个错误:
任何人可以帮助我找出问题?在此先感谢
关于第一:你可能做错了什么。你可以提供你的数据库配置? –
关于第二请提供完整的错误(原始文本)与sql –
$ query = $ connection-> createCommand(“SELECT a.name_of_flight,a.time_of_flight,(a.no_of_passenger - b.cnt)as avail,a.no_of_passenger FROM flight_schedule一个LEFT JOIN(选择flight_time,COUNT(id)AS cnt FROM book_eticket WHERE flight_date ='$ date'AND company_name ='$ comp_name'GROUP BY flight_time)b ON a.id = b.flight_time“) - > queryAll(); –