微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

Laravelblade.php 中的隐藏输入

如何解决Laravelblade.php 中的隐藏输入

嘿,我正在尝试按宠物类型对条目进行排序,下面的代码是我的blade.PHP 代码

this.count$ = merge(
      store.select('count'),store.select('count').pipe(delay(2000),map(_ => 0))
);

在刀片文件中,我有多个链接,例如猫、狗、兔子,它们基本上充当过滤选项

我的控制器中有一个排序方法,可以执行以下操作

<div>
                        <td>
                            <form>
                                @csrf
                                <input name="cat" type="hidden" value="cat">
                                <a name="cat" href="{{ url('sorting') }}" value="cat">Cat</a>
                            </form>
                        </td>
                    </div>

在我的排序方法中,我试图检查 cat 链接是否被点击,如果是,它将只返回 cat 类型的宠物,我遇到的问题是我的 public function sorting(Request $request){ if($request->input('cat') === 'cat'){ $pets = Pet::Where('type','cat')->get(); return view('index',compact('pets')); } } 返回空值.我将如何纠正这个问题?

解决方法

您的代码中有多个问题:

  1. 您似乎没有办法实际提交表单。帖子中的链接不会自行完成(除非您在 JS 中的该链接上有一些事件)
  2. <a>-tags 没有 value-attribute,而 name-attribute 对于链接意味着完全不同的东西,而不是通过表单提交数据。
  3. 没有方法的表单将使用 GET 作为默认值。您正在尝试使用用于 $request->input() 请求的 POST 检索 PHP 中的值。对于 GET 请求(使用查询字符串传递数据),请使用 $request->query()

然而……你不需要表格。只需将该值作为查询参数传递到链接中即可:

<td>
    <a href="{{ url('sorting') }}?sort=cat">Cat</a>
</td>

然后在您的 PHP 代码中,使用以下命令检索值:

if ($request->query('sort') === 'cat') {
    // your code
}

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。