Đang cố gắng lấy COUNT (*) từ loại nội dung tùy chỉnh với EntityFieldQuery


9

Làm cách nào tôi có thể truy xuất 'Count (*)' từ truy vấn trong drupal 7? Truy vấn cần bao gồm một loại nội dung tùy chỉnh và trường tùy chỉnh.

Ghi chú

  • Loại nội dung tùy chỉnh: nhân viên

  • Tên trường tùy chỉnh: field_emp NHÂN_email

  • Lưu ý, tôi đang tìm cách thêm

    WHERE field_empologists_email = 'example@example.com'

truy vấn ...

Cho đến nay, tôi có một cái gì đó như:

$query = new EntityFieldQuery;    

$result = $query
     ->entityCondition('entity_type', 'node')
     ->propertyCondition('status', 1) // Getting published nodes only.
     ->propertyCondition('type', 'employees') //Getting 'employees' type only.
     // How do I include custom field as part of query?
     ->execute();

Ngoài ra, có một cách dễ dàng hơn

$total = count($result); 

để trả về COUNT (*) từ truy vấn?

Câu trả lời:


13

Bạn có thể sử dụng EntityFieldQuery :: Count () , như được báo cáo trong tài liệu về EntityFieldQuery :: exec () .

[Kết quả là] Hoặc là một số nếu count()được gọi hoặc một mảng các mảng kết hợp của các thực thể còn sơ khai.

Mã bạn nên sử dụng tương tự như mã sau:

$query = new EntityFieldQuery;

$count = $query->entityCondition('entity_type', 'node')
  ->entityCondition('bundle', 'employees')
  ->propertyCondition('status', 1) // Getting published nodes only.
  ->count()
  ->execute();

Để lọc kết quả theo loại nội dung, bạn cần sử dụng EntityFieldQuery :: entityCondition ('bundle', $ content_type) .
Đối với các điều kiện trên các trường, bạn nên sử dụng EntityFieldQuery :: fieldCondition () .


Cảm ơn bạn @kiamlaluno lĩnh vực Điều kiện là những gì tôi đang tìm kiếm. Bài này là khá hữu ích cho bất cứ ai tìm kiếm khác cũng như: commerceguys.com/blog/checking-out-entityfieldquery
Citricguy
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.