it-swarm.asia

كيفية استخدام EntityFieldQuery مع التواريخ؟

أحتاج إلى تحديد كيانات ذات تواريخ محددة.

كيف يجب تنسيق ما يلي. هل أحتاج إلى تحليل 15 مايو 2010

أيضا كيف أحصل على صفحة الخطأ.

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

مع Drupal 7 ووحدة التاريخ 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

لم أستخدم EntityFieldQuery ، ولكن النظر إلى الرمز يشير إلى أنك ستحتاج إلى التأكد من أن field_event_date يتم تخزينه كحقل MySQL DateTime ، وأن تنسيق الوسيطة موجود بأحد التنسيقات المفضلة:

كسلسلة بتنسيق "YYYY-MM-DD" أو "YY-MM-DD". بناء جملة "مريح" مسموح به هنا أيضًا. على سبيل المثال ، "98 -12-31" و "98 .12.31" و "98/12/31" و "98 @ 12 @ 31" متكافئة.

2
cam8001

هنا هو رمز التحقق من النطاق الزمني باستخدام الكلمة الأساسية BETWEEN ،

$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