我有这样的代码
$phql = "SELECT COUNT(a.id) FROM UserParkingIn a JOIN UserVehicle b ON a.userVehicleId = b.id WHERE b.vehicleTypeId = 1";
$result = $this->modelsManager->executeQuery($phql);
echo $result;
在userparkingin表中我有示例id = 10,uservehicleId = 2在uservehicle表中,我有示例ID = 10,uservehicleId = 2,vehicletypeid = 1
它返回空,但是当我在phpmyadmin中执行此查询时,我使用此SQL逻辑返回正确的数字。
SELECT COUNT(a.id) FROM user_parking_in a JOIN user_vehicle b ON a.userVehicleId = b.id WHERE b.vehicleTypeId=1;
它返回编号7
有人可以解释为什么返回错误吗?谢谢。
我找到了我用来计数的ID必须设置别名的解决方案。
$query = $this->modelsManager->createQuery("SELECT COUNT(a.id) as quota FROM UserParkingIn a JOIN UserVehicle b ON a.userVehicleId = b.id WHERE a.ospoId = '$ospoId' ");
$records = $query->execute();
foreach($records as $record){
$parkingUsed = $record->quota;
}
现在正在工作。