当前位置: 首页 > 后端技术 > PHP

laravelinsert、save、update、create的区别

时间:2023-03-29 15:37:20 PHP

insert:插入数据时,需要维护created_at和updated_at字段要在数据库中创建一条新记录,只需要新建一个model实例,并设置属性on模型,然后调用保存方法:新的航班实例。**@paramRequest$request*@returnResponse*/publicfunctionstore(Request$request){//验证请求...$flight=newFlight;$flight->name=$request->name;$航班->保存();}}save:无论是插入还是更新,都会自动维护,不需要手动使用save方法。另外,updated_at时间戳会自动更新,所以我们不需要手动设置它的值:$flight=App\Flight::find(1);$flight->name='NewFlightName';$flight->save();update:更新操作,自动维护updated_at字段save方法也可以用来更新数据库中已有的模型。要更新模型,您必须首先检索模型,设置要更新的属性,然后调用保存方法。另外,updated_at时间戳会自动更新,所以我们不需要手动设置它的值:$flight=App\Flight::find(1);$flight->name='NewFlightName';$flight->保存();update方法需要传入一个键值对数组,表示要更新的字段的值。通过Eloquent执行批量更新时,不会为更新的模型触发保存和更新的模型事件。这是因为执行批量更新时,不会检索任何模型。create:自动维护created_at和updated_at这两个字段。也可以使用create方法保存一个新的模型,然后该方法返回插入数据库的模型实例。但是,在执行此操作之前,您需要在模型上指定可填充或受保护的属性,因为默认情况下所有Eloquent模型都不是可批量分配的。$flight=App\Flight::create(['name'=>'Flight10']);