绑定模型
模型绑定(V5.0.1
)
路由规则和分组支持绑定模型数据,例如:
Route::rule('hello/:id','index/index/hello','GET',[
'ext'
=>
'html',
'bind_model'
=> [
'user'
=>
'\app\index\model\User', ], ]);
会自动给当前路由绑定id
为 当前路由变量值的User
模型数据。
可以定义模型数据的查询条件,例如:
Route::rule('hello/:name/:id','index/index/hello','GET',[
'ext'
=>
'html',
'bind_model'
=> [
'user'
=> ['\app\index\model\User','id&name'] ], ]);
表示查询id
和name
的值等于当前路由变量的模型数据。
也可以使用闭包来返回模型对象数据
Route::rule('hello/:id','index/index/hello','GET',[
'ext'
=>
'html',
'bind_model'
=> [
'user'
=>
function
($param)
{ $model =
new
\app\index\model\User;
return
$model->where($param)->find(); } ], ]);
闭包函数的参数就是当前请求的URL变量信息。
在控制器中可以通过下面的代码或者使用依赖注入获取:
request
()->user;
绑定的模型可以直接在控制器的架构方法或者操作方法中自动注入,具体可以参考请求章节的依赖注入。
文档最后更新时间:2018-04-25 19:35:41
未解决你的问题?请到「问答社区」反馈你遇到的问题