我已经在boot()
类的RouteServiceProvider
函数中设置了路由模型绑定,如下所示:
public function boot()
{
//
parent::boot();
Route::bind('itemById', function($id) {
return \App\Item::where('id', $id)->first(['id', 'name']) ?? abort(404);
});
}
这将返回一个雄辩的模型对象,该对象具有我想要的两列,但是没有返回任何模型的关系方法。如果我将绑定的查询部分从first(['id', 'name'])
更改为first()
,那么它将很好地工作。
但是我不想在数据库的所有列中查询该项目,也不想在返回对控制器类网页的响应时过滤不需要的列。如何使绑定返回模型关系与所需的列一起显示?谢谢。