laravel模型的一些特性

1模型复制

replicate()方法可以保存一个新的模型副本,例如:
此处的$user与$NewUser,$shipping与$NewShipping的基本数据是一致的
$user = \App\User::find(1);
$newUser = $user->replicate();
$newUser->save();

$shipping = App\Address::create([
    'type' => 'shipping',
    'line_1' => '123 Example Street',
    'city' => 'Victorville',
    'state' => 'CA',
    'postcode' => '90001',
]);
$NewShipping=$shipping->replicate();

2模型校验

is()方法可以校验两个模型实例是否拥有相同的主键,表,数据库连接
$user=\App\User::find(1);
$sameUser=\App\User::find(1);
$diffUser=\App\User::find(2);
$user->is($sameUser);//true
$user->is($diffUser);//false

3检查模型实例的属性值是否被修改

isDirty()方法可以检查实例中的值是否变脏,被修改。,与之相反的是isClear()方法,wasChanged也用于检查模型属性值是否被改变,用法稍微不一样。
$user=User::first();
$user->isDirty()//true;
$user->isDirty('name')
$user->name="马云";
$user->isDirty();//false

4获取已被修改的属性

getChanges()方法获取已被修改的属性

5自定义created_at,updated_at,deleted_at字段

const CREATED_AT='creation_date'
const UPDATED_AT='last_update'
const DELETED_AT='deleted_date'
阅读 126

推荐阅读