Выход версии Laravel 10.5
Что нового в версии Laravel 10.5


Что нового в версии Laravel 10.5

Команда Laravel выпустила 31 марта 2023 года версию 10.5 фреймворка Laravel с несколькими новыми функциями и обновлениями. Среди них флаг чувствительности к регистру для Stringable replace, поддержка передачи пустых колонок в метод insertUsing конструктора базы данных, а также новый метод подключения к базе данных selectResultsets.

Кроме того, релиз включает исправления ошибок и изменения, такие как улучшение обработки пустых массивов в операциях с несколькими ключами для DynamoDbStore и удаление дублирующихся ограничений в отношениях с помощью one().

Флаг чувствительности к регистру для строковой замены.

Maarten Paauw внес флаг чувствительности к регистру для замены строк:

// Нечувствительный к регистру строковый пример
// foo/foo/foo
Str::of('x/x/x')->replace('X', 'foo', false);
 
// Без учета регистра
// foo bar laravel
Str::replace('baz', 'laravel', 'foo bar Baz', false);
 
// По умолчанию чувствительный к регистру не заменит `Baz` на `laravel`.
Str::replace('baz', 'laravel', 'foo bar Baz'); // foo bar Baz

Разрешение insertUsing иметь пустые столбцы.

Jonny Nott добавил поддержку базы данных для передачи пустых столбцов или ['*'] для вставки всех столбцов из источника в место назначения:

$builder->from('table1')->insertUsing(
    [],
    function (Builder $query) {
        $query->from('table2')->where('foreign_id', '=', 5);
    }
);
 
// insert into "table1" select * from "table2" where "foreign_id" = ?'

Метод selectResultsets базы данных.

Istvan Palinkas предоставил метод подключения к базе данных, который запускает оператор выборки в базе данных и возвращает все полученные результаты:

[
    $user_params,
    $user_notifications
] = DB::selectResultsets("CALL get_user_params_and_notifications(?)", Auth::id());

Примечания к выпуску Laravel 10.5

Полный список новых функций и обновлений можно посмотреть ниже, а разницу между версиями 10.4.0 и 10.5.1 - на GitHub. Следующие примечания к выпуску взяты непосредственно из журнала изменений.

Список изменений в Laravel 10.5:

v10.5.1

Добавлено

  • Добавлены методы для определения того, загружен ли ресурс API в pivot (#46555)
  • Добавлен флаг caseSensitive для функции Stringable replace (#46578)
  • Разрешить insert..select (insertUsing()) иметь пустые $columns (#46605, 399bff9)
  • Добавлена функция Illuminate/Database/Connection::selectResultSets() (#46592)

Изменено

  • Проверьте, что модель pivot имеет ранее определенные значения (#46559)
  • Переместите SetUniqueIds так, чтобы он выполнялся до события создания (#46622)

v10.5.0

Добавлено

  • Добавлена функция Illuminate/Cache/CacheManager::setApplication() (#46594)

Исправлено

  • Исправление бесконечной загрузки в списке партий в Horizon (#46536)
  • Исправление запросов whereNull с необработанными выражениями для грамматики MySql (#46538)
  • Исправление метода getDirty при использовании AsEnumArrayObject / AsEnumCollection (#46561)

Изменено

  • Пропустить Illuminate/Support/Reflector::isParameterBackedEnumWithStringBackingType для не ReflectionNamedType (#46511)
  • Замена устаревшего создания DBAL Comparator на компаратор с учетом схемы (#46517)
  • Добавлен метод Storage::json() для чтения и декодирования json-файла (#46548)
  • Принудительное приведение json декодированных failed_job_ids к массиву в DatabaseBatchRepository (#46581)
  • Обработка пустых массивов для многоключевых операций DynamoDbStore (#46579)
  • Перестали дважды добавлять ограничения для отношений Многие к Одному через one() (#46575)
  • Разрешение переопределения итогового значения в Builder paginate() (#46415)
  • Добавление возможности установки пользовательской функции on_stats для Http Facade (#46569)

Перевод с английского официальных новостей Laravel:
https://laravel-news.com/laravel-10-5-0

Заберите ссылку на статью к себе, чтобы потом легко её найти!
Раз уж досюда дочитали, то может может есть желание рассказать об этом месте своим друзьям, знакомым и просто мимо проходящим?
Не надо себя сдерживать! ;)

Старт! Горячий старт на просторы интернета
Старт! Горячий старт на просторы интернета
Старт! Меню