UpdateOrCreate для мультипликатных таблиц, Laravel - PullRequest
2 голосов
/ 25 февраля 2020

У меня есть функция для создания, но код для обновления очень похож, поэтому я хочу изменить функцию для использования UpdateOrCreate insted.

// Register table
$register = new Register();
$register->updateOrCreate(
    ['id' => $person],
    [
    'volume' => $request->volume,
        // more columns
]);

// Person table
$person = new Person();
$person->updateOrCreate(
    ['id' => $request->register.id],
    [
    'name_as_written' => $request->name_as_written,
    //more columns
]);
// $person->register()->associate($register)->save(); // right now, this is used for create


// Relationship table
foreach ($request->relationship_values as $item) {
    $relationship = new Relationship();
    $relationship->updateOrCreate(
        ['id' => $item.id],
        [
        'relative_surname' => $item['relative_surname'],
        //more columns
    ]);

  //  $relationship->person()->associate($person)->save(); // right now,this is used for create
};
...