php - Laravel 中的路由模型绑定(bind)和父子验证

标签 php laravel routes model-binding

假设我有这样一条路线:

Route::get('users/{user}/posts/{post}', 'PostController@show')

我已经为 App\User 设置了路由模型绑定(bind)到 {user}App\Post{发布}。我已经看到我能够调用任何给定用户的任何现有帖子以在屏幕上获取内容。是否有一个通用的地方可以为绑定(bind)模型分配约束?

最佳答案

您可以使用 Route::bind 并为该函数设置第二个变量以访问当前路由及其参数,如下所示:

class RouteServiceProvider extends ServiceProvider{
    public function boot(Router $router)
    {
        $router->bind('user', function($value) {
            return App\User::findOrFail($value);
        });

        $router->bind('post', function($value, $route) {
            return $route->parameter('user')->posts()->findOrFail($value);
        });
    }
}

关于php - Laravel 中的路由模型绑定(bind)和父子验证,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35132732/

相关文章:

javascript - 使用 Laravel 测试时是否启用了 JS?

ruby-on-rails - 设计自定义路线滑坡

ruby-on-rails - 基于正则表达式的Rails 3路由

php - 在事件监听器中调用 Controller /操作

javascript - jQuery:确定[服务器的]文档根目录

php - Symfony 2 转发请求传递 GET/POST 参数

php - Laravel - 通过关系中的 ID 获取有关用户的信息

php - Laravel:创建动态属性

routes - 在哪里为 Meteor 应用程序放置单独的管理界面?

php - 构建动态 PDO Mysql 查询