Câu hỏi phỏng vấn Laravel
Câu hỏi

Làm thế nào để lấy câu truy vấn thô ...

Câu trả lời

Để lấy câu truy vấn SQL thô từ Query Builder trong Laravel dưới dạng chuỗi, bạn có thể sử dụng một số phương pháp khác nhau. Dưới đây là một số cách phổ biến:

  1. Sử dụng phương thức toSql() để lấy câu truy vấn mà không thực thi nó. Phương thức này trả về câu truy vấn với các dấu hỏi chấm (?) thay cho các giá trị thực tế của tham số[5].

    php Copy
    echo DB::table('users')->toSql();

    Đoạn mã trên sẽ trả về chuỗi: select * from users.

  2. Kích hoạt nhật ký truy vấn (query log) bằng cách sử dụng phương thức enableQueryLog(), sau đó bạn có thể lấy nhật ký truy vấn bằng cách sử dụng getQueryLog()[4].

    php Copy
    DB::enableQueryLog();
    // Thực thi truy vấn
    DB::table('users')->get();
    // Lấy nhật ký truy vấn
    dd(DB::getQueryLog());
  3. Để lấy câu truy vấn SQL thô kèm theo các giá trị tham số, bạn có thể sử dụng hàm vsprintf() để kết hợp phương thức toSql()getBindings()[3].

    php Copy
    $query = DB::table('users')->where('id', '=', 1);
    $rawSql = vsprintf(str_replace(['?'], ['\'%s\''], $query->toSql()), $query->getBindings());
    echo $rawSql;
  4. Laravel 10.15 cung cấp một tính năng mới là phương ...

senior

senior

Gợi ý câu hỏi phỏng vấn

middle

Làm thế nào để quay lại một migration cụ thể trong Laravel?

expert

Những điểm khác biệt và giống nhau giữa LumenLaravel là gì?

junior

Tại sao việc migrations là cần thiết trong Laravel?

Bình luận

Chưa có bình luận nào

Chưa có bình luận nào