我想从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,而是true,因为它仅通过位于具有id的项目页面上来接收id)) )
现在,页面上的任务表单本身具有一个带有project_id
的隐藏输入字段,因此我可以将该任务绑定到项目。
在值中我有$request->route('id')
,但它给我一个错误,就是请求未定义。
现在,我问,如何从网址中检索ID,否则可以用其他方式检索ID?所有项目和任务刀片文件都扩展了project.index
,而project.index
扩展了layouts.blade
,因此其在布局内的布局。
此外,我可以将(request()->is('projects/1'))
更改为其他内容吗,因此无论我在哪个项目页面上,该语句都是正确的?例如'projects / {project}'
感谢您的帮助
答案 0 :(得分:2)
最好的方法是 您不需要写“创建”
html {
-webkit-touch-callout:none;
-webkit-user-select:none;
-khtml-user-select:none;
-moz-user-select:none;
-ms-user-select:none;
user-select:none;
-webkit-tap-highlight-color:rgba(0,0,0,0)
}
或
{{ app('request')->input('id') }}
如果您不确定它如何工作, 存储在变量中并在视图上打印以进行交叉验证。
{{ request()->get('id') }}
您始终可以像这样检查所有请求URL参数。
<?php
$id = app('request')->input('id');
//or
$id = request()->get('id');
?>
答案 1 :(得分:0)
创建用于从网址获取ID的路线 示例:
Route :: name('subscriptions.store')-> post('/ subscriptions / store / {id}','CreateSubscriptionController');