SQl - Запрос

Главные вкладки

Аватар пользователя Nelli Nelli 19 мая 2018 в 19:34

Добрый вечер, уважаемые друпалеры!

Помогите, пожалуйста, исправить данный запрос.

$query = db_select('taxonomy_index', 't');
$query->innerJoin('taxonomy_term_data', 'd', 't.tid = d.tid');
$query->leftJoin('taxonomy_vocabulary', 'v', 'd.vid = v.vid');
$query->leftJoin('node', 'n', 't.nid = n.nid');
$query->leftJoin('field_data_field_date_beginning', 'b', 'b.entity_id = n.nid');
$query->leftJoin('field_data_field_finished', 'f', 'f.entity_id = n.nid');
$query->condition('v.vid', 6);
$query->condition('n.type', 'student_note');
$query->condition('f.field_finished_value', '1');
$query->fields('t', array('nid', 'tid'))
->fields('d', array('vid', 'name'))
->fields('v', array('vid'))
->fields('n', array('nid'))
->fields('f', array('entity_id'))
->where('YEAR(FROM_UNIXTIME(b.field_date_beginning_value)) = :field_date_beginning_value', array(':field_date_beginning_value' => date("Y")))
->groupBy('tid');
$query->addExpression('COUNT(nid)', 'countnode');
$nodes = $query->execute()->fetchAll();

Нужно:
Определить ноды в словаре с id = 6
Для каждого термина узнать название и количество нод в нем.
Но при условии, что эти ноды типа student_note, а также значение года в поле field_date_beginning_value должно соответствовать текущему году и значение поля field_finished_value должно быть равно 1.

Я пока плохо разбираюсь в составлении запросов, надеюсь на Вашу помощь.
Заранее спасибо.

Комментарии