Làm thế nào để viết một truy vấn Drupal 7 với các thuộc tính của tính toán và các tính năng của Google?


14

Tôi không thể làm cho truy vấn sau hoạt động theo tiêu chuẩn drupal7..Có ai có thể giúp tôi không? Nó hơi khẩn cấp ...

SELECT n.nid AS nid, n.title AS title, count(n.title) AS ncount 
FROM node n 
INNER JOIN taxonomy_index tn ON n.nid = tn.nid 
WHERE (n.type = 'test') 
AND (tn.tid IN( 23,37)) 
AND (n.title LIKE '%name%') 
AND (n.status = 1) 
GROUP BY n.nid 
HAVING ncount = 2

Câu trả lời:


25

Đây là trên đỉnh đầu của tôi vì vậy hãy thận trọng ...

$query = db_select('node', 'n')
  ->fields('n', array('nid', 'title'))
  ->condition('n.type', 'test')
  ->condition('tn.tid', array(23, 37))
  ->condition('n.title', '%' . db_like('name') . '%', 'LIKE')
  ->condition('n.status', 1)
  ->groupBy('n.nid');

// Add the COUNT expression
$query->addExpression('COUNT(n.title)', 'ncount');

// Add the HAVING condition
$query->havingCondition('ncount', 2);

// Add the JOIN
$query->join('taxonomy_index', 'tn', 'n.nid = tn.nid');

$results = $query->execute();

Cảm ơn, Clive! Một yếu tố phổ biến bổ sung: sắp xếp theo số lượng tôi đã thêm$query->orderBy('ncount', 'DESC');
greggles 17/8/2016
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.