Laravel模型访问器 & 修改器
访问器
model
- 访问器
- model
- controller
- 效果
- 修改器
- model
- controller
- 效果
/**
* 定义一个访问器 当 Eloquent 尝试获取 title 的值时,将会自动调用此访问器(查詢時自動調用)
* @author jackie
*/
public function getTitleAttribute($value)
{
return strtoupper($value);
}
controller
public function index(Request $request)
{
$data = \App\Models\BusinessProduct::Enable(1)->get();
$res = $data->filter(function ($query){
return $query->is_redeem == 1;
})->map(function ($query){
return $query->title;
});
dd($res->all());
}
效果
打印結果英文全部转大写
/**
* 定义一个修改器 当我们尝试在模型上设置 title 的值时,该修改器将被自动调用 (插入數據時自動調用)
* @author jackie
*/
public function setTitleAttribute($value)
{
$this->attributes['title'] = ucfirst($value);
}
controller
public function add(Request $request)
{
$model = new BusinessProduct();
$model->title = $request->input('title');
$model->save();
}
效果
访问:url:http://127.0.0.1:8000/admin/productadd?title=fgfg
查看数据库新插入一数据title字段首字母转大写