摘要:一.创建模型 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('删除成功');
}
批改老师:韦小宝批改时间:2019-01-23 15:05:55
老师总结:不错不错 写的很完整 基本上PHP中的框架都是大同小异 多玩玩几个模板基本上看看手册就清楚怎么使用了