так, типа ищу user_id, если его нет то создаю
если он есть то обновляю.
$response = \DB::table('Contacts')->updateOrInsert(
[
'user_id' => $Params['user_id'] // ищем user_id = XXX
],
[
'name' => $Params['name'] // создаем/обновляем имя
]
);
—
Все гуд и так все работает.
тока вопрос, если мне необходимо выполнить такое же для 300 к примеру контактов?
в цикле выполнять запрос к базе - не есть хорошо, как же так бы пакетно все это сделать?
делай втупую как знаешь, по крайней мере это будет быстрее чем полдня гуглить, скрипт задумается на несколько минут но задача будет сделана
Отличный совет
)) нее я лучше убью время
То, что ты ищешь, гуглится по слову "laravel bulk update", больше ничего не скину, т.к. с телефона)
laravel bulk update ща посмотрю
нашел, в 8-й ларке появился upsert , как бы его на 7-й ларке выполнить
Скопипастить код
чего появилось?
в ларьке 8 нашел то что мне нужно. появился метод там upsert (https://www.amitmerchant.com/insert-or-update-multiple-records-using-upsert-in-laravel8/) тока не совсем понял, это пакет отдельно используется или вшит метод в ларку. Кто его использовал уже? И самый вопрос - как бы мне его использовать в Ларке 7-й
добавить несуществующий метод, который будет иметь доступ ко всему объекту где находится макрос
правильно ли я понял: 1. находим как реализован метод upsert в ларьке 8 2. создаем макрос - куда дописываем необходимый функционал, который в ларьке 8 3. подключаем макрос к ларьке 7 через композер, если много макросов то через класс Миксин
3. в сервис провайдере подключаешь его
ну или так или через композер- я прочитал можно так и так. Сейчас теперь вопрос как бы вытащить полную функциональность по методу upsert
вот что я нагуглил https://gist.github.com/tomcastleman/7285a59ee242f929e0cbe6974bc4b799
гист старый, сравни такой ли синтаксис upsert в новой версии
ага, я понял, сравню сейчас, это уже ктото делал макро я так понимаю
Обсуждают сегодня