2016-10-19 3 views
0

После установки модуля Drupal Permissions Drupal в DKAN ошибка отображается всякий раз, когда я пытаюсь просмотреть каталог каталогов наборов данных в DKAN. Для меня прекрасно просматривать отдельные наборы данных, перемещаясь по их отдельной гиперссылке.Dkan Drupal Ошибка после установки модуля разрешения поля

Ошибка: SQLSTATE [HY000]: Общие ошибки: 3065 Expression # 1 из предложения ORDER BY не в списке SELECT, ссылки в столбце 'dkan_opendatatest.t.changed', который не находится в списке ЗЕЬЕСТ: это несовместимо с DISTINCT

Любые идеи о том, как решить эту проблему?

ответ

0

Это, скорее всего, представление, которое ведет страницу поиска. Выпадающее меню ожидает, что поле станет списком выбора, но изменение в поле делает этот вид генерирующим SQL-запрос, который не поддерживается MySQL.

Возможно, вы исправите это, отредактировав представление в разделе «/ admin/structure/views/view/dkan_datasets/edit/panel_pane_1» и изменив «Указанный узел: дата изменен» в «критерии сортировки». Не уверен, что правильная настройка «Сортировка критериев» будет с вашими изменениями, но вы можете, надеюсь, выяснить это, изменив «критерии сортировки». Возможно, удалите и снова добавьте «измененное» поле.

0

Я также получил подобные ошибки в Drupal посещающих администратора/содержание и админ/чел страниц: Exception в людях [user_admin_people]: SQLSTATE [HY000]: Общая ошибка: 3065 Expression # 1 из предложения ORDER BY не в SELECT, list, ссылается на столбец «mycmsschema.users_field_data.created», который не находится в списке SELECT; это несовместимо с DISTINCT

Выведенный запрос отлично работал в Mysql Workbench, но не работал в Drupal8 при посещении этих страниц.

Mysql 5.7, похоже, не нравится Drupal8 запросов (и, возможно, 7 запросов тоже, но не проверял). Нужно перейти на Mysql 5.6 (так что по умолчанию не устанавливаются супер строгие параметры sql_mode, такие как ONLY_FULL_GROUP_BY, которые по умолчанию указаны в Mysql 5.7) или перейдите в core/lib/Drupal/Core/Database/Driver/mysql/Connection.php и измените :

/* 
     'sql_mode' => "SET sql_mode = 'ANSI,STRICT_TRANS_TABLES,STRICT_ALL_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,ONLY_FULL_GROUP_BY'", 
     */ 

к:

'sql_mode' => "SET sql_mode = 'ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER'", 

, который работал для меня. Примечание: удаление мысли только ONLY_FULL_GROUP_BY должно быть исправлено, но похоже, что мне нужно было удалить часть отдыха.

 Смежные вопросы

  • Нет связанных вопросов^_^