Size: a a a

Laravel для начинающих

2021 June 16

SG

Sergey Gerasimov in Laravel для начинающих
Там более тут вызов идет на updateOrCreate
источник

ПЛ

Павел Ланчев... in Laravel для начинающих
Это да (
источник

SG

Sergey Gerasimov in Laravel для начинающих
У тебя 16 откуда? user?
источник

AB

Alex B in Laravel для начинающих
нет, это из теста, там айди разные могут быть
источник

AB

Alex B in Laravel для начинающих
сейчас я подготовлю побольше данных, будет понятнее
источник

SG

Sergey Gerasimov in Laravel для начинающих
А какое отношение?
источник

AB

Alex B in Laravel для начинающих
hasMany
belongsTo
источник

SG

Sergey Gerasimov in Laravel для начинающих
Падает в сторону hasMany?
источник

AB

Alex B in Laravel для начинающих
yup
источник

SG

Sergey Gerasimov in Laravel для начинающих
Ну сделай updateOrCreate([], $someRelationData->filter([...]))
источник

AB

Alex B in Laravel для начинающих
User
public function someRelations()
{
     return $this->hasMany(SomeRelation::class);
}
SomeRelation
public function user()
{
       return $this->belongsTo(User::class, 'user_id');
}

(на самом деле модели другие)

foreach($someRelationsDto as $someRelationData) {
   $user->someRelations()->updateOrCreate(
        ['id' => optional($someRelationData)->id],
        $someRelationData->filter([
             'field_1' => $someRelationData->field_1,
             'field_2' => $someRelationData->field_2,
             'field_3' => $someRelationData->field_3,
             'field_4' => $someRelationData->field_4,
             'field_5' => optional($someRelationData)->id,
       ])
 );
источник

AB

Alex B in Laravel для начинающих
Что удивительно, это же код в POST методе работает
источник

AB

Alex B in Laravel для начинающих
только при апдейте такой баг
источник

EV

Evg V. in Laravel для начинающих
Всем привет)
Народ, тупой вопрос) а у Лары для коллекций есть метод эквивалент in_array?))
источник

НП

Никита Пупсик... in Laravel для начинающих
contains?
источник

EV

Evg V. in Laravel для начинающих
Спасибо))
источник

EV

Evg V. in Laravel для начинающих
на has  смотрел а он по ключам оказывается))
источник

VY

Vladimir Yefremov in Laravel для начинающих
Стоит такая задача:
данные загружаются в БД из Эксель файла;
в файле порядка 20К строк, а в таблице бд под миллион;

Сейчас скрипт работает так: весь файл загружает в 2-х мерный массив, потом идет по массиву и на каждую строку делает запрос в БД на наличие этой же строки - чтобы избежать добавления дублей;

Сравнение выполняет по 7-ми полям...

Думаю - как оптимизировать эту работу. Как уменьшить кол-во запросов?
Кто может что подсказать?
источник

А

Артём in Laravel для начинающих
без кода не разобраться
источник

EG

Egor Gruzdev in Laravel для начинающих
Через генераторы или LazyCollection (чтоб обрабатывать построчно а не собирать в массив), ну и в базе данных нужные индексы раставить чтоб легче проверять на дубли было.
источник