Laravel 从 URL 检索 ID

Laravel retrieve id from URL

我想从 Laravel URL 中检索一个 ID。 我试过这个:

$request->route('id');

但它会告诉我 $request 未定义。

我用的url是:

http://192.168.1.14/public/tasks/create?id=1

我有一个边栏,里面有一个 if 语句。

@if((request()->is('projects/1')) || (request()->is('tasks/create')))
    <a href="{{ route('tasks.create') }}?id={{ $project->id }}">
@endif

我已经隐藏了不必要的代码,但是第二个参数用于在侧边栏中突出显示我所在的页面。当我在项目页面上时,第一个显示创建任务选项。

现在,if 语句导致它隐藏(所以我看不到错误(错误会说没有 id 但它是真的,因为它只通过在项目页面上接收 id编号 ))

现在,页面上的任务表单本身有一个带有 project_id 的隐藏输入字段,因此我可以将任务绑定到项目。

在值中我有 $request->route('id') 但它给我一个请求未定义的错误。

现在我问,如何从 url 中检索 ID,否则,我可以通过其他方式检索 ID 吗?所有项目和任务 blade 文件都扩展了 project.index 并且 project.index 扩展了 layouts.blade 因此它是布局中的布局。

此外,我能否将 (request()->is('projects/1')) 更改为其他内容,以便无论我在哪个项目页面上,声明都是正确的?例如'projects/{project}'

感谢您的帮助

最好的方法是 你不需要写 'create'

{{ app('request')->input('id') }}

{{ request()->get('id') }}

如果您不确定它是如何工作的 存储在一个变量中并将其打印在视图上以像这样进行交叉验证。

<?php 
$id = app('request')->input('id');
//or
$id = request()->get('id');
?>

您始终可以像这样检查所有请求 URL 参数。

$request = request();
print_r($request);

创建路线以从 url 获取 id 示例:

路线::名称('subscriptions.store')->post('/subscriptions/store/{id}', 'CreateSubscriptionController');