- Что нового в версии Laravel 10.5
- Флаг чувствительности к регистру для строковой замены
- Разрешение
insertUsing
иметь пустые столбцы - Метод
selectResultsets
базы данных - Примечания к выпуску 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
Заберите ссылку на статью к себе, чтобы потом легко её найти!
Раз уж досюда дочитали, то может может есть желание рассказать об этом месте своим друзьям, знакомым и просто мимо проходящим?
Не надо себя сдерживать! ;)