为了账号安全,请及时绑定邮箱和手机立即绑定

如何将请求对象从表单传递到 PHP

如何将请求对象从表单传递到 PHP

PHP
Cats萌萌 2021-10-08 14:28:03
我正在使用 Laravel 5.7 开发 Laravel 应用程序,但遇到以下问题:我正在将请求对象“req”从控制器传递给视图。在视图中,我显示了传递给视图的请求对象的内容我在同一个视图中有一个表单,它假设将相同的请求对象“req”转发到控制器,在那里我用它做一些处理,但不知道如何发送整个请求对象而不是发送单个元素。我想做这样的事情<form method="post" action="/story/editorsubmit" enctype="multipart/form-data">    @csrf    <input type="hidden" name="fullobject" value={{ $req }}>    <button type="submit" name="submitButton" value="edit" class="btn btn-primary">Edit</button></form>
查看完整描述

1 回答

?
MMTTMM

TA贡献1869条经验 获得超4个赞

从表单提交的数据就是请求。你也错过了一些引号。


<form method="post" action="/story/editorsubmit" enctype="multipart/form-data">

    @csrf


    <input type="hidden" name="fullobject" value="{{ $req }}">


    <button type="submit" name="submitButton" value="edit" class="btn btn-primary">Edit</button>

</form>

可以使用提交的属性名称在表单提交的控制器中访问您当前的数据。但我怀疑这会起作用,因为 $req 是一个对象,而不是一个字符串。


$object = request('fullobject');

但理想情况下,您应该单独定义属性。我假设这些隐藏元素实际上代表可编辑的表单输入?如果没有任何变化,那么这样做是没有意义的。


编辑:添加了处理数组的方法。


<form method="post" action="/story/editorsubmit" enctype="multipart/form-data">

    @csrf


    @foreach ($req->all() as $key => $value)

        @if (is_array($value))

            @foreach($value as $v)

                <input type="hidden" name="{{ $key }}[]" value="{{ $v }}">

            @endforeach

        @else

            <input type="hidden" name="{{ $key }}" value='{{ $value }}'>

        @endif

    @endforeach


    <button type="submit" name="submitButton" value="edit" class="btn btn-primary">Edit</button>

</form>

然后提交的请求将像以前一样包含各个属性。


查看完整回答
反对 回复 2021-10-08
  • 1 回答
  • 0 关注
  • 124 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信