Laravel Update Model and Relationship Data at the Same Time
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
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.
Md Obydullah
Software Engineer | Ethical Hacker & Cybersecurity...
Md Obydullah is a software engineer and full stack developer specialist at Laravel, Django, Vue.js, Node.js, Android, Linux Server, and Ethichal Hacking.