Laravel-获取模型中的路线参数

Sk *_*oar 3 model-view-controller laravel laravel-routing laravel-5

我正在使用Laravel 5.5,我有一个``发布''模型。在该模型中,我想使用路由参数(例如userId)。在Post Controller中有此ID。

public function getPosts($userId)
{      
    $posts = Post::latest()->paginate(8);
    return Response::json($posts);
}
Run Code Online (Sandbox Code Playgroud)

我想在Post Model中使用$ userId来获取更多信息。如何从Post模型访问此参数?我应该使用会话存储userId值并尝试使用它吗?还有其他办法吗?

小智 6

您可以使用request()助手:

// Get a specific route parameter 
request()->route()->parameter('userId')

// Get all route parameters 
request()->route()->parameters()
Run Code Online (Sandbox Code Playgroud)

假设您对Post模型具有功能:

// Post.php

public function doSomething()
{
    if (request()->route()->parameter('userId') === 1) {
        return 'some value';
    }
    return 'another value';
}
Run Code Online (Sandbox Code Playgroud)