php - 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>
在刀片文件中,我有多个链接,例如猫、狗、兔子,它们基本上充当过滤选项
我的控制器中有一个排序方法,它执行以下操作
public function sorting(Request $request){
if($request->input('cat') === 'cat'){
$pets = Pet::Where('type', 'cat')->get();
return view('index', compact('pets'));
}
}
在我的排序方法中,我试图检查是否单击了 cat 链接,如果是,它将仅返回 cat 类型的宠物,我遇到的问题是我$request->input('cat')
的返回 null。我将如何纠正这一点?
解决方案
您的代码中有多个问题:
- 您似乎没有办法实际提交表单。帖子中的链接不会自行完成(除非您在 JS 中的该链接上有一些事件)
<a>
-tags 没有value
-attribute 并且name
-attribute 对链接意味着完全不同的东西,而不是通过表单提交数据。- 没有方法的表单将
GET
用作默认值。您正在尝试使用-requests检索 PHP$request->input()
中的值。POST
对于 GET 请求(使用查询字符串传递数据),使用$request->query()
.
但是...您不需要表格。只需将该值作为链接中的查询参数传递:
<td>
<a href="{{ url('sorting') }}?sort=cat">Cat</a>
</td>
然后在您的 PHP 代码中,使用以下命令检索值:
if ($request->query('sort') === 'cat') {
// your code
}
推荐阅读
- reactjs - 如何在组件之间传递状态/道具
- python - 在python中的特定日期和时间执行任务
- java - @Path 没有响应 Eclipse Tomcat 中 Java servlet 中的基本 @GET 请求
- java - 如何根据列 java 的值将 csv 文件拆分为多个文件?
- python-3.x - Mypy:用类类型注释变量
- configure - 空手道:如何在 afterScenario 中使用场景响应
- python - Python内存泄漏仅在一台相同的机器上
- powerbi - 具有多个条件的 Power BI 累积计数
- data-visualization - Seaborn y 标签重叠
- angular - 如何在另一个组件中切换我的侧边栏?