abstract:一.创建模型 php artisan make:model models/GoodsModel 在app/models里创建一个GoodsModel 对应数据表goods 模型访问器:就是当使用模型操作时触发 getCreateTime
一.创建模型
php artisan make:model models/GoodsModel 在app/models里创建一个GoodsModel 对应数据表goods
模型访问器:就是当使用模型操作时触发 getCreateTimeAttribute($value){...}
模型修改器:就是当使用模型写操作时触发(删除操作不算) setCreateTimeAttribute($value){...}
以上两个方法仅适用于模型操作,查询构造器方法不触发(都是驼峰写法)
//指定数据表 protected $table = 'goods'; //默认指定goodss //指定主键 protected $primaryKey = 'id'; //默认id //托管自动时间戳 public $timestamps = true; //时间戳格式 protected $dateFormat = 'U'; //unix //指定创建时间字段 const CREATED_AT = 'create_time'; //默认create_at //指定更新时间字段 const UPDATED_AT = 'update_time'; //默认update_at //创建模型访问器 public function getCreateTimeAttribute($value) { return date('Y-m-d ',$value); //查询创建时间 将格式改一下 } public function getUpdateTimeAttribute($value) { return date('Y-m-d ',$value); //查询更新时间 将格式改一下 } //创建模型修改器 public function setNameAttribute($value) { return '【'.$value.'】'; //当修改name的时候 ,加点修饰 }
------------------------------------------------------------------------------
二.查询操作
GoodsModel::all()查询全部数据 后面可以跟where()查询条件
find(主键)->字段属性 以对象属性的方式来进行查询指定数据的指定字段的值
//查询操作 public function select() { //查询全部数据 $res = GoodsModel::all(); //查询构造器 $res = GoodsModel::where('id','>',20)->get(); //id>20 $res = GoodsModel::where('id','>',20)->first(); //id>20的第一个 //指定某个字段的值 以对象属性方式访问 $res = GoodsModel::find(22)->name; //id为22的name的值 //后面跟着条件查询 $res = GoodsModel::all()->where('id','>',23); return view('home.goods.index')->with('pro',$res); // dump($res); }
---------------------------------------------------------------------------------
三.新增操作
* 基于创建模板对象属性 使用save()保存
* 构造器方法insert(['字段'=>'值','字段'=>'值','字段'=>'值'])
public function insert() { //基于对象属性 使用save() 触发修改器 $goods = new GoodsModel(); $goods->desc = '魅族魅族魅族魅族'; $goods->price = 2000; $goods->name = '魅族X8'; $goods->save(); //构造器方法 不触发修改器 GoodsModel::insert([ 'name'=>'小米8', 'price'=>'2333', 'desc'=>'小米小米小米小米小米' ]); dump('新增成功'); }
四.更新操作
* 基于查找find()使用save()来更新操作 查询到数据再更新
* update(['字段'=>'值','字段'=>'值','字段'=>'值']) 查询构造器方法 不触发修改器
public function update(Request $request) { //基于查找find()使用save()来更新操作 $id = $request->route('id'); $res = GoodsModel::find($id); $res->name = '蓝莓'; $res->desc = '蓝莓蓝莓蓝莓蓝莓蓝莓'; $res->save(); //执行更新 //查询构造器方法 不触发修改器 $res = GoodsModel::where('id',$id)->update([ 'name'=>'蓝莓', 'price'=>8888 ]); dump('更新成功'); }
-----------------------------------------------------------------------------
五.删除操作
* destroy(主键) 模型操作删除
* where()->delete() 查询构造器删除
//删除操作 public function delete(Request $request) { //destroy(主键) $id = $request->route('id'); // GoodsModel::destroy($id); //查询构造器 GoodsModel::where('id',$id)->delete(); dump('删除成功'); }
Correcting teacher:韦小宝Correction time:2019-01-23 15:05:55
Teacher's summary:不错不错 写的很完整 基本上PHP中的框架都是大同小异 多玩玩几个模板基本上看看手册就清楚怎么使用了