1、insert:插入数据时,需要维护 created_at 和 updated_at字段,

laravel  insert 、save、update、create区别(总结二)_字段

 

2、save:无论插入或者更新,会自动维护,无需手动操作



//插入:
public function store(Request $request)
{
$flight = new Flight;

$flight->name = $request->name;

$flight->save();
}

//更新:

$flight = App\Flight::find(1);

$flight->name = 'New Flight Name';

$flight->save();
格式: Eloquent实例->save();


插入操作例子中,HTTP 请求的参数 ​​name​​ 赋值给了 ​​App\Flight​​ 模型实例的 ​​name​​ 属性。调用 ​​save​​ 方法,一条记录就会插入数据库。​created_at 和 ​updated_at​ 时间戳随着 ​save​ 方法的调用,会自动维护,无需手动操作

save 方法也可用于模型更新。更新模型时,需要检索到它,然后设置模型属性,再调用 ​​save​​ 方法。同样地,​updated_at 时间戳自动更新,无需手动操作

 

3.update:更新操作,自动维护 updated_at字段

也可一并更新查询到的多个模型。这个例子中,所有 ​​active​​ 和 ​​destination​​ 为 ​​San Diego​​ 的航班都被更新为延误:



App\Flight::where('active', 1)
->where('destination', 'San Diego')
->update(['delayed' => 1]);


update 方法接受一个字段为键、更新数据为值的数组

4.create 自动维护 created_at 和 updated_at两个字段

除了 ​​save​​ 和 ​​saveMany​​ 方法外,你还可以使用 ​​create​​ 方法。它接受一个属性数组,同时会创建模型并插入到数据库中。 还有, save 方法和 ​create​ 方法的不同之处在于, ​save​ 方法接受一个完整的 Eloquent 模型实例,而 ​create​ 则接受普通的 PHP 数组:



$post = App\Post::find(1);

$comment = $post->comments()->create([
'message' => 'A new comment.',
]);


{tip} 在使用 ​​create​​ 方法前,请务必确保查看过本文档的 ​​批量赋值​​ 章节。

格式:create(【‘字段’=>值,组成的数组】);


非学,无以致疑;非问,无以广识