Laravel blade.php 中的隐藏输入
Hidden inputs in Laravel blade.php
嘿,所以我正在尝试按宠物类型对条目进行排序,下面的代码来自我的 blade.php
<div>
<td>
<form>
@csrf
<input name="cat" type="hidden" value="cat">
<a name="cat" href="{{ url('sorting') }}" value="cat">Cat</a>
</form>
</td>
</div>
在 blade 文件中,我有多个 links,例如猫、狗、兔子,它们基本上充当过滤选项
我的控制器中有一个排序方法可以执行以下操作
public function sorting(Request $request){
if($request->input('cat') === 'cat'){
$pets = Pet::Where('type', 'cat')->get();
return view('index', compact('pets'));
}
}
在我的排序方法中,我试图检查猫 link 是否被点击,如果是,它会 return 只有猫类型的宠物,我遇到的问题是我的 $request->input('cat')
return 为 null。我该如何纠正?
您的代码中存在多个问题:
- 您似乎无法真正提交表单。 post 中的 link 不会自己完成(除非你在 JS 中有关于 link 的事件)
<a>
-tags 没有 value
-attribute 而 name
-attribute 对于 links 意味着完全不同的东西并且不用于提交数据通过表格。
- 没有方法的表单将默认使用
GET
。您正在尝试使用 $request->input()
检索 PHP 中的值,该值用于 POST
请求。对于 GET 请求(使用查询字符串传递数据),使用 $request->query()
.
但是...您不需要表格。只需在 link 中将值作为查询参数传递即可:
<td>
<a href="{{ url('sorting') }}?sort=cat">Cat</a>
</td>
然后在您的 PHP 代码中,使用以下方法检索值:
if ($request->query('sort') === 'cat') {
// your code
}
嘿,所以我正在尝试按宠物类型对条目进行排序,下面的代码来自我的 blade.php
<div>
<td>
<form>
@csrf
<input name="cat" type="hidden" value="cat">
<a name="cat" href="{{ url('sorting') }}" value="cat">Cat</a>
</form>
</td>
</div>
在 blade 文件中,我有多个 links,例如猫、狗、兔子,它们基本上充当过滤选项
我的控制器中有一个排序方法可以执行以下操作
public function sorting(Request $request){
if($request->input('cat') === 'cat'){
$pets = Pet::Where('type', 'cat')->get();
return view('index', compact('pets'));
}
}
在我的排序方法中,我试图检查猫 link 是否被点击,如果是,它会 return 只有猫类型的宠物,我遇到的问题是我的 $request->input('cat')
return 为 null。我该如何纠正?
您的代码中存在多个问题:
- 您似乎无法真正提交表单。 post 中的 link 不会自己完成(除非你在 JS 中有关于 link 的事件)
<a>
-tags 没有value
-attribute 而name
-attribute 对于 links 意味着完全不同的东西并且不用于提交数据通过表格。- 没有方法的表单将默认使用
GET
。您正在尝试使用$request->input()
检索 PHP 中的值,该值用于POST
请求。对于 GET 请求(使用查询字符串传递数据),使用$request->query()
.
但是...您不需要表格。只需在 link 中将值作为查询参数传递即可:
<td>
<a href="{{ url('sorting') }}?sort=cat">Cat</a>
</td>
然后在您的 PHP 代码中,使用以下方法检索值:
if ($request->query('sort') === 'cat') {
// your code
}