Laravel:查询构建器

时间:2021-07-16 12:46:33

标签: php sql laravel laravel-query-builder

可能是个愚蠢的问题,如何在 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 给了我一个错误信息。

谢谢

编辑:感谢大家的回答,抱歉所有菜鸟错误

1 个答案:

答案 0 :(得分:3)

这样可以防止 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);
}