1

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

$request->route('id');

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

我使用的网址是:

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 的项目页面上接收 id ))

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

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

现在我问,我如何从 url 中检索 id,否则,我可以用另一种方式检索 id 吗?所有项目和任务刀片文件都扩展project.indexproject.index扩展,layouts.blade因此它是布局中的布局。

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

谢谢你的帮助

4

2 回答 2

3

最好的方法是你不需要写“创建”

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

或者

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

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

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

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

$request = request();
print_r($request);
于 2019-09-17T13:55:15.180 回答
0

创建从 url 获取 id 的路由示例:

Route::name('subscriptions.store')->post('/subscriptions/store/{id}', 'CreateSubscriptionController');

于 2019-09-17T17:51:48.773 回答