Mysql 连接表时Laravel 6中的SQL错误
所以我用phpmyadmin编写了这个查询,它工作正常Mysql 连接表时Laravel 6中的SQL错误,mysql,laravel,Mysql,Laravel,所以我用phpmyadmin编写了这个查询,它工作正常 SELECT als.name,als.airlineCode, flights.planeNumber, flights.departureAirport, dep_air.name,flights.departurelTime, flights.arrivalAirport, arr_air.name,flights.arrivalTime FROM `flights` JOIN airports AS dep_air ON fli
SELECT als.name,als.airlineCode, flights.planeNumber, flights.departureAirport,
dep_air.name,flights.departurelTime, flights.arrivalAirport,
arr_air.name,flights.arrivalTime FROM `flights`
JOIN airports AS dep_air
ON flights.departureAirport = dep_air.airportCode
JOIN airports as arr_air
ON flights.arrivalAirport = arr_air.airportCode
JOIN airlines as als
ON flights.airlineReference = als.airlineCode
WHERE dep_air.airportCode = 'YYZ' AND arr_air.airportCode = 'YUL' ;
但是,当我在控制器中的laravel中尝试此操作时
public function formSubmit(){
$flights = DB::table('flights')
->select('als.name','als.airlineCode','flights.planeNumber','flights.departureAirport','dep_air.name','flights.departurelTime','flights.arrivalAirport','arr_air.name','flights.arrivalTime')
->join('airports as dep_air','flights.departureAirport','dep_air.airportCode')
->join('airports as arr_air' ,'flights.arrivalAirport','arr_air.airportCode')
->join('airlines as als,','flights.airlineReference','als.airlineCode')
->where('dep_air.airportCode','=', 'YYZ')
->where('arr_air.airportCode','=', 'YUL')
->get();
dd($flights);
return view('oneWayTrips', compact('flights'));
}
我得到以下错误
Illumb\Database\QueryException SQLSTATE[42S22]:未找到列:
1054“字段列表”中的未知列“als.name”(SQL:选择
als
name
,als
airlineCode
,flights
,planeNumber
,
航班
出发机场
,dep_air
姓名
,
航班
出发时间
,航班
到达港
,
arr\u air
name
,航班
到达时间
来自航班
内部连接
airports
asdep_air
onflights
出发机场
=
dep_air
airportCode
内部连接airports
asarr_air
on
航班
到达机场
=arr\u air
airportCode
内部连接
airlines
asals,
onflights
airlineReference
=
als
airlineCode
其中dep_air
airportCode
=YYZ和
arr\u air
airportCode
=YUL)
更新:
输入错误修复后,查询几乎正常工作,但我注意到其中一个值缺少arr\u air.name
。dep_air.name
工作正常,显示出发机场名称,arr_air.name
表示到达机场的名称
这是目前的问题
我想你必须检查“航空公司”表中的“姓名”字段….噢,谢谢你让我认识所有人,但是,我在原始帖子中更新了一个新错误。在修复打字错误后更新是因为我在所有3个表中都有一个名为name的字段,所以它们相互覆盖,因为als.name应该是加拿大航空公司,另外两个应该是机场名称我仔细检查了航空公司表中的名称字段。我发现这是一个额外的逗号你告诉了“名称”,但你使用了“名称”,你必须使用“名称”而不是“名称”。我更新了问题,问题几乎解决了,但出于某种原因,我的一个值没有像其他值那样显示