Laravel Update Model and Relationship Data at the Same Time

Published on February 12, 2021 31 sec read

Hello, sometimes we need to update model & relationship tables data at the same time. We can do it very easily using Laravel eloquent. Let’s see:

Table of Contents

  1. Set Relationship
  2. Update Data

Set Relationship

I’m going to setup relationship in User model with Country table.

User.php
<?php

namespace App\Models;

use Illuminate\Database\Eloquent\Model;

class User extends Model
{
    /**
     * Get the country associated with the user.
     */
    public function country()
    {
        return $this->hasOne(Country::class);
    }
}

Update Data

Using push() method, we can update model & relationship date. Have a look at the example:

// test
$user = User::find(1);
$user->name = "Md Obydullah";
$user->country->name = "Bangladesh";
$user->push();

// on form submit
$user = User::find($request->id);
$user->name = $request->name;
$user->country->name = $request->country_name;
$user->push();
That’s all, artisans. Thanks for reading. 🙂

Monthly Newsletter

One email a month, packed with the latest tutorials, delivered straight to your inbox.
We'll never send any spam or promotional emails.
Author

Hey, I'm Md Obydullah. I build open-source projects and write on Laravel, Linux server, modern JavaScript and more on web development.

Follow

Leave a Reply

Your email address will not be published. Required fields are marked *