Làm cách nào để in truy vấn SQL của chế độ xem ở giao diện người dùng?


7

Tôi đã cài đặt mô-đun Dupal 8.1.1 mới nhất cũng được cài đặt, không có bất kỳ tùy chọn nào cho Nhật ký truy vấn hiển thị trên trang cài đặt phát trong khi nó hiện trên mô-đun D7 Devel. Tôi đã tạo một chế độ xem với mối quan hệ bây giờ Tôi muốn hiển thị Truy vấn SQL của chế độ xem đó ở giao diện người dùng.

Làm cách nào để in truy vấn SQL của chế độ xem ở giao diện người dùng?

Câu trả lời:



6

Bạn có thể bật trên "Hiển thị truy vấn SQL" và "Hiển thị các truy vấn khác chạy trong khi kết xuất trong khi xem trước trực tiếp" trên "www.example.com/admin/structure/view/sinstall"

nhập mô tả hình ảnh ở đây

Hy vọng nó sẽ giúp bạn.


Thnx để trả lời nhanh, tất cả các tùy chọn đã được bật ("Hiển thị truy vấn SQL" và "Hiển thị các truy vấn khác chạy trong khi hiển thị trực tiếp") đây chỉ dành cho xem trước của quản trị viên Tôi muốn cái này cho người dùng cuối (người dùng xác thực và ẩn danh ).
Sanjay

4

Mặc dù bạn có thể cài đặt mô-đun webprofiler, nhưng nếu bạn đã có một mô-đun tùy chỉnh, có thể nhanh hơn để làm điều này:

/**
 * Implements hook_views_post_execute().
 */
function MY_MODULE_views_post_execute(ViewExecutable $view) {
  if ($view->id() != 'MY_SPECIAL_VIEW') {
    return;
  }
  dpq($view->query->query());
}

2

Nếu bạn đang sử dụng lớp trừu tượng cơ sở dữ liệu để chạy các truy vấn của riêng mình, bạn cũng có thể sử dụng phương thức addTag và chuyển vào 'gỡ lỗi'.

$ query-> addTag ('gỡ lỗi')


1

Bạn có thể chỉ cần làm dpq($query->query()); Điều đó sẽ đặt truy vấn trong vùng thông báo của lối vào của bạn. Chỉnh sửa - Bạn sẽ cần mô-đun phát để sử dụng tính năng này.


0
$query = $db->query('MY QUERY');
print_r($query); // In the result you'll see a key "queryString" containing the actual query

0

Nếu ai đó đang tìm kiếm câu trả lời tương đương với Drupal 7 của Dalin, cấu trúc chỉ khác một chút.

/**
 * Implements hook_views_post_execute().
 */
function MY_MODULE_views_post_execute($view) {
  if ($view->name != 'MY_SPECIAL_VIEW') {
    return;
  }
  dpq($view->build_info['query']);
}
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.