绑定模型

最后更新于:2022-04-01 21:19:15

## 模型绑定(`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; ~~~ > 绑定的模型可以直接在控制器的架构方法或者操作方法中自动注入,具体可以参考请求章节的依赖注入。
';