Truy vấn với db_select () để chọn nút theo id và tham gia trường và các điều khoản


7

Tôi đang cố gắng viết một truy vấn bằng cách sử dụng db_select để chọn một nút cụ thể theo id và sau đó tham gia cột field_data_field_projectresource và cũng chọn các thuật ngữ từ phân loại (vì đây là trường thuật ngữ)

Tôi đã thử rất nhiều lần nhưng tôi thấy mình bị mắc kẹt (tôi thậm chí không tham gia vào phần tham gia bảng dr_taxonomy_term_data)

 $query = db_select('node','n')
  ->condition('n.nid','5')
  ->fields('n')
  ->fields('p');
 $query->Join('field_data_field_projectresources','p','p.entity_id = n.nid');
 $result = $query->execute();

 while($record = $result->fetchAssoc()) {
   print_r($record);
 }

Bất kỳ trợ giúp đánh giá cao, Cảm ơn


Có thể sử dụng: '$ result = db_query ("CHỌN .tid WHERE dr_node.nid = '5' "); ?> Tài nguyên tại sao tạo </br> <? Php foreach ($ result as $ row) {print $ row-> resourceterm; ?> <br/> <? php} '
Andrew Welch

Câu trả lời:


8

Tôi mong công việc này phù hợp với bạn:

 $query = db_select('node','n');
 $query->join('field_data_field_projectresources','p','p.entity_id = n.nid');
 $query->fields('n',array('yourfieldnames'))
       ->fields('p',array('yourfieldnames'))
       ->condition('n.nid','5');
 $result = $query->execute();

Đây là một câu trả lời sẽ giúp bạn rất nhiều.

Kiểm tra tài liệu cho 'tham gia' trên drupal.org .


1
Các joinphương pháp là không thể kết nối không may, vì vậy nó phải được đặt trên dòng riêng của nó.
rocketeerbkw
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.