Laravel Eloquent 小技巧

1. push()方法保存模型和关系

您可以使用push()方法保存模型及其关联。

class User extends Model
{
    public function phone()
    {
        return $this->hasOne('App\Phone');
    }
}

$user = User::first();
$user->name = "Peter";

$user->phone->number = '1234567890';

$user->push(); // 这将更新数据库中的用户和电话

2.获取原始属性

当修改一条 Eloquent 模型记录的时候你可以通过调用 getOriginal() 方法获取记录的原始属性

$user = App\User::first();
$user->name;                   //John

$user->name = "Peter";         //Peter

$user->getOriginal('name');    //John
$user->getOriginal();          //原始 $user 记录

3. 检查模型是否被修改

使用 isDirty() 方法确定模型或给定属性是否已被修改

$user = App\User::first();
$user->isDirty();          //false

$user->name = "Peter";
$user->isDirty();          //true

也可以检查指定属性是否被修改。

$user->isDirty('name');    //true
$user->isDirty('age');     //false

4. 获取更改的属性

使用 getChanges() 获取更改的属性

$user->getChanges()

//[
     "name" => "Peter",
  ]

注:仅当您使用 syncChanges() 保存模型或同步更新时,才生效

你可能感兴趣的:(Laravel Eloquent 小技巧)