Size: a a a

Laravel Framework Russian Community

2020 October 29

NM

NIk Mitkin in Laravel Framework Russian Community
firstOrCreate - дублирует иногда записи. Мб кто сталкивался?
источник

B

Bat in Laravel Framework Russian Community
NIk Mitkin
firstOrCreate - дублирует иногда записи. Мб кто сталкивался?
Код скинь
источник

NM

NIk Mitkin in Laravel Framework Russian Community
Bat
Код скинь
$validated = $request->validated();
       return Client::firstOrCreate(
           ['main_phone' => $validated['main_phone']], $validated
       );
источник

NM

NIk Mitkin in Laravel Framework Russian Community
Тут кода 2 строки
источник

А

Артём in Laravel Framework Russian Community
NIk Mitkin
firstOrCreate - дублирует иногда записи. Мб кто сталкивался?
Знаешь, как этот метод работает?
источник

NM

NIk Mitkin in Laravel Framework Russian Community
Артём
Знаешь, как этот метод работает?
Если 'main_phone' не найден в бд, то создает новый с параметрами request
источник

А

Артём in Laravel Framework Russian Community
NIk Mitkin
Если 'main_phone' не найден в бд, то создает новый с параметрами request
Чудно. Значит, если он создаёт «дубликаты», то что?
источник

NM

NIk Mitkin in Laravel Framework Russian Community
Артём
Чудно. Значит, если он создаёт «дубликаты», то что?
Не угадаете в базе есть два абсолютно идентичных main_phone
источник

B

Bat in Laravel Framework Russian Community
NIk Mitkin
$validated = $request->validated();
       return Client::firstOrCreate(
           ['main_phone' => $validated['main_phone']], $validated
       );
Может лучше updateOrCreate тогда?
источник

NM

NIk Mitkin in Laravel Framework Russian Community
Я предполагаю что если слать одновременно два запроса, он может пропустить оба
источник

B

Bat in Laravel Framework Russian Community
Или транзакцию накинуть
источник

NM

NIk Mitkin in Laravel Framework Russian Community
Bat
Может лучше updateOrCreate тогда?
Возможно
источник

NM

NIk Mitkin in Laravel Framework Russian Community
https://github.com/laravel/framework/issues/19372
Как я понимаю они не совсем безопасны
источник

SC

Sergey Chizhik in Laravel Framework Russian Community
Конечно. Race condition, проверка существования происходит в один момент времени, а вставка - в другой. Параллельные процессы могут вставить дубли
источник

NM

NIk Mitkin in Laravel Framework Russian Community
Sergey Chizhik
Конечно. Race condition, проверка существования происходит в один момент времени, а вставка - в другой. Параллельные процессы могут вставить дубли
Как с этим жить дальше?( Как я понимаю транзакция не спасет?
источник

SC

Sergey Chizhik in Laravel Framework Russian Community
NIk Mitkin
Как с этим жить дальше?( Как я понимаю транзакция не спасет?
Поставь uniq индекс, например
источник

NM

NIk Mitkin in Laravel Framework Russian Community
Sergey Chizhik
Поставь uniq индекс, например
Думал, не вариант(
источник

SC

Sergey Chizhik in Laravel Framework Russian Community
Почему?
источник

HZ

Haji Zada in Laravel Framework Russian Community
Hello to every one😊
источник

TS

Top Sanchez in Laravel Framework Russian Community
Haji Zada
Hello to every one😊
hello - здарова
источник