it-swarm-vi.com

Làm cách nào để sử dụng EntityFieldQuery với ngày?

Tôi cần phải chọn các thực thể với ngày cụ thể.

Làm thế nào sau đây nên được định dạng. Tôi có cần phân tích ngày 15 tháng 5 năm 2010 không

Ngoài ra làm thế nào tôi nhận được trang lỗi.

function events2() {

$query = new EntityFieldQuery();
$query
  ->entityCondition('entity_type', 'node', '=')
  ->propertyCondition('status', 1, '=')
  ->propertyCondition('type', 'event')  
  ->propertyCondition('field_event_date', '15-May-2010', '=');

$result = $query->execute();

 return $result;

}
9
frosty

Với Drupal 7 và mô-đun ngày 2.2:

$query = new EntityFieldQuery;
$result = $query->entityCondition('entity_type', 'node')
->entityCondition('bundle', 'event')
->propertyCondition('status', 1) // Getting published nodes only.
->fieldCondition('field_dates', 'value2', date("Y-m-d"), '<') // end date before today
->execute();
10
Cedric Thiebault

Tôi chưa sử dụng EntityFieldQuery, nhưng nhìn vào mã cho thấy bạn sẽ cần đảm bảo rằng field_event_date được lưu trữ dưới dạng một trường MySQL DateTime và định dạng của đối số là một trong các định dạng ưa thích:

Là một chuỗi ở định dạng 'YYYY-MM-DD' hoặc 'YY-MM-DD'. Một cú pháp thoải mái của người Viking cũng được cho phép ở đây. Ví dụ: '98 -12-31 ', '98 .12.31', '98/12/31 'và '98 @ 12 @ 31' là tương đương.

2
cam8001

Đây là mã để kiểm tra phạm vi ngày bằng từ khóa GIỮA,

$month = $form_state['values']['month'];
$year = $form_state['values']['year'];
$num_padded = sprintf("%02d", $month);
$first_day = date($year.'-'.$num_padded.'-01 00:00:00'); 
$last_day =  date("Y-m-t 23:59:59", strtotime($first_day));
$query = new EntityFieldQuery();
$query->entityCondition('entity_type', 'node')
            ->entityCondition('bundle', 'YOUR_CONTENT_TYPE')
            ->fieldCondition('DATE_FIELD', 'value', array($first_day,$last_day), 'BETWEEN');
0
vishal sheladiya