These are chat archives for dru-io/Drupal

3rd
Jun 2017
Ivan
@Punk-UnDeaD
Jun 03 2017 11:30

пятиминутка ненависти
как вот это

 $query = \Drupal::entityQuery('node')
      ->condition('status', 1)
      ->condition('promote', 1)
      ->condition('type', 'page', '!=')
      ->sort('created', 'DESC')
      ->pager(10);

превращается в вот это?

SELECT
  base_table.vid                 AS vid,
  base_table.nid                 AS nid,
  max(node_field_data_2.created) AS expression
FROM node base_table 
  INNER JOIN node_field_data node_field_data ON node_field_data.nid = base_table.nid
  LEFT JOIN node_field_data node_field_data_2 ON node_field_data_2.nid = base_table.nid
WHERE (node_field_data.status = '1') AND (node_field_data.promote = '1') AND (node_field_data.type != 'page')
GROUP BY base_table.vid, base_table.nid
ORDER BY expression DESC
LIMIT 10 OFFSET 0
boolboost
@boolboost
Jun 03 2017 11:48
Хм жесть
В d8 щас node поделена на 2 таблицы
Зачем они так запутали
Ivan
@Punk-UnDeaD
Jun 03 2017 11:53
да в семёрке не лучше, особенно с вьюхой
там таймштамп дату переводят в дату и только потом сравнивают на больше меньше
boolboost
@boolboost
Jun 03 2017 11:54
Там вроде одна таблица
И по таблице на поле
Ivan
@Punk-UnDeaD
Jun 03 2017 11:54
ума сравнить с таймштампом нет
boolboost
@boolboost
Jun 03 2017 11:54
А тут что за node data field
Жа ужасный запрос
Лучше уж юзать простые запросы чем этим конструктором
А про дату и views да
)
Там вообще херня это точно приходтлось альтерить что бы ло по человечески
Ivan
@Punk-UnDeaD
Jun 03 2017 11:59
друпал вей
сделать вьюху, а потом альтером переписать в ней запрос начисто
%)
boolboost
@boolboost
Jun 03 2017 11:59
Да search api юзать лучше
И всё)
При структуре данных драпала и таких косяках лучше юзать search api
А там где он не нужен просто кастомный запрос
И кастомной страницей
Ivan
@Punk-UnDeaD
Jun 03 2017 12:01
нет, простые запросы в реляционную структуру с индексом всегда быстрее
boolboost
@boolboost
Jun 03 2017 12:01
Вообще без views
Ivan
@Punk-UnDeaD
Jun 03 2017 12:02
а то что без вьювс - это согласен