这个主题在这里讨论了很多,但我不明白。
我想使用数据透视表(user_customer_relation,user_object_relation(.但是我不明白,如何正确地应用过滤器。
Route::get('customer/{id}', 'CustomerController@getCustomer')->before('customer')
现在我可以添加一些值到before过滤器
->before('customer:2')
如何动态地做到这一点?
在过滤器中,我可以这样做:
if(!User::hasAccessToCustomer($id)) {
App::abort(403);
}
在hasAccessToCustomer函数中:
public function hasCustomer($id) {
if(in_array($id, $this->customers->lists('id'))) {
return true;
}
return false;
}
如何将客户ID正确传递给筛选器?
1条答案
按热度按时间von4xj4u1#
不能将路由参数传递给筛选器。但是,您可以使用
Route::input()
从应用程序中的几乎所有位置访问路由参数:优化
甚至是
(The double
!!
将null
/Customer
结果转换为布尔值)通用方法
这里有一个可能的、更通用的方法来解决这个问题:(虽然没有测试)
下面是你如何使用它: