Новости Joomla

Совет по Joomla: $db->getQuery(true) стал устаревшим

Совет по Joomla: $db->getQuery(true) стал устаревшим

👩‍💻 Совет по Joomla: $db->getQuery(true) стал устаревшим.Раньше при создании запросов в базу данных мы всегда получали объект запроса с помощью метода

getQuery(). Если передавался параметр
$new =
true, то получали новый запрос. Если без - последний.

use Joomla\CMS\Factory;$db = Factory::getContainer()->get('DatabaseDriver');$query = $db->getQuery(new: true);// и строим запрос
Под капот Joomla 4 вошёл Joomla Framework (PHP фреймворк а-ля Laravel, Yii и т.д.), а для Joomla 5 он обновился - версия 3.4.1 вышла 6 октября 2023г. В методе фреймворка есть примечание о том, что параметр
$new, который передавался в метод
getQuery() помечен как устаревший и будет удалён в версии фреймворка 4.0.
The parameter $new is deprecated and will be removed in 4.0, use %s::createQuery() instead.В Joomla 4 версия Joomla Framework была 2.x., в Joomla 5 - 3.x. Поэтому есть предположение, что с выходом Joomla 6 обновится и версия фреймворка - станет 4.0. Поэтому для получения объекта для новых запросов следует использовать метод
createQuery(). Он уже представлен в ядре и широко используется. При этом метод
getQuery() останется, но, скорее всего, будет выполнять функцию только геттера - получения текущего запроса.
@joomlafeed#joomla #php #разработка

0 Пользователей и 1 Гость просматривают эту тему.
  • 6 Ответов
  • 6042 Просмотров
*

anoorik

  • Захожу иногда
  • 113
  • 0 / 0
Предупреждение
JInstaller: :Install: Ошибка SQL Duplicate entry '802' for key 'PRIMARY' SQL=INSERT INTO `#__extensions` (`extension_id`, `name`, `type`, `element`, `folder`, `client_id`, `enabled`, `access`, `protected`, `manifest_cache`, `params`, `custom_data`, `system_data`, `checked_out`, `checked_out_time`, `ordering`, `state`) VALUES (802, 'English (United Kingdom)', 'package', 'pkg_en-GB', '', 0, 1, 1, 1, '', '', '', '', 0, '0000-00-00 00:00:00', 0, 0);
Обновление файлов: файл ошибок SQL Ошибка базы данных с номером 1062
Duplicate entry '802' for key 'PRIMARY' SQL=INSERT INTO `#__extensions` (`extension_id`, `name`, `type`, `element`, `folder`, `client_id`, `enabled`, `access`, `protected`, `manifest_cache`, `params`, `custom_data`, `system_data`, `checked_out`, `checked_out_time`, `ordering`, `state`) VALUES (802, 'English (United Kingdom)', 'package', 'pkg_en-GB', '', 0, 1, 1, 1, '', '', '', '', 0, '0000-00-00 00:00:00', 0, 0);
SQL =

INSERT INTO `#__extensions` (`extension_id`, `name`, `type`, `element`, `folder`, `client_id`, `enabled`, `access`, `protected`, `manifest_cache`, `params`, `custom_data`, `system_data`, `checked_out`, `checked_out_time`, `ordering`, `state`)
 VALUES (802, 'English (United Kingdom)', 'package', 'pkg_en-GB', '', 0, 1, 1, 1, '', '', '', '', 0, '0000-00-00 00:00:00', 0, 0);

Но сообщение такое: Ваш сайт был успешно обновлён. Версия Joomla 3.6.5 Что делать сайт работает, пока
*

Vekach

  • Захожу иногда
  • 162
  • 1 / 0
У меня та же проблема при обновлении с 3.7.2. на 3.7.3.
Помогите советом, что сие?
*

capricorn

  • Завсегдатай
  • 1949
  • 118 / 3
это значит, что с английским языком непорядок. с ним конфликтует какое-то расширение с номером 802. все сторонние расширения обычно имеют номер после 10000.
« Последнее редактирование: 11.07.2017, 22:00:25 от capricorn »
*

Филипп Сорокин

  • Завсегдатай
  • 1918
  • 160 / 4
  • разработчик.москва
Языковые пакеты обновляете? Попробуйте удалить проблемный язык, а затем заново его установить.
*

capricorn

  • Завсегдатай
  • 1949
  • 118 / 3
Цитировать
Языковые пакеты обновляете? Попробуйте удалить проблемный язык, а затем заново его установить.

Можно еще посмотреть, что там сейчас под номером 802 и проверить, цел ли первичный ключ autoincrement номера.
*

Vekach

  • Захожу иногда
  • 162
  • 1 / 0
Вот тут скриптик для лечения предлагают. Вот ток боюсь юзать https://www.joomla-monster.com/blog/joomla-templates/solution-for-1602-duplicate-sql-entry-error-while-updating-to-joomla-3-6
В проверке базы ругается на отсутствие полей Newsfeeds (лента новостей). Как оказалось у меня он не установлен!? Как так оказалось? Ведь он же стандартный. Искала в плагинах, что бы включить - нет. Полезла в JED. Его тоже там нет. Как быть?
*

Vekach

  • Захожу иногда
  • 162
  • 1 / 0
Языковые пакеты обновляете? Попробуйте удалить проблемный язык, а затем заново его установить.
Сайт одноязычный, родной - инглишь
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Прошу помощи. Ошибка при обновлении на Joomla 4

Автор wmsonic

Ответов: 1
Просмотров: 2068
Последний ответ 29.10.2023, 22:07:23
от Kukush
Выходит ошибка в админской панели

Автор daymarus

Ответов: 0
Просмотров: 1891
Последний ответ 10.08.2023, 12:43:43
от daymarus
При обновлении ошибка 403 Forbidden Request forbidden by administrative rules

Автор THeCMeX

Ответов: 18
Просмотров: 3834
Последний ответ 14.07.2023, 17:13:19
от art22
Ошибка при обновлении с 3.10.10. до 4.х

Автор svd2014

Ответов: 1
Просмотров: 2305
Последний ответ 13.02.2023, 19:53:08
от weser
Ошибка libraries/joomla/session/handler/native.php

Автор rezchik

Ответов: 2
Просмотров: 1504
Последний ответ 17.01.2023, 22:02:31
от rezchik