首页 > 解决方案 > Laravel:查询构建器

问题描述

可能是个愚蠢的问题,如何在 select 语句中正确声明 ID?

public function generatefinalconfirmation($id) {
        $booking = Booking::findOrFail($id);
        $flightin = DB::select('SELECT b.bookingname, f.origin FROM Bookings B JOIN Flights F ON B.Flightin = F.FlightId WHERE B.ID = id');
}

该代码给我所有数据,同时where b.id = $id给我一条错误消息。

谢谢

编辑:谢谢大家的回答,对不起所有的菜鸟错误

标签: phpsqllaravellaravel-query-builder

解决方案


这样可以防止 SQL 注入并使代码更具可读性:

public function generatefinalconfirmation($id) {
        $booking = Booking::findOrFail($id);
        $flightin = DB::table('Bookings AS B')
                ->select([ 'b.bookingname', 'f.origin'])
                ->join('Flights AS F', 'B.Flightin', 'F.FlightId')
                ->where('B.ID', $id);
}

推荐阅读