【问题标题】:Pass data to controller with Laravel使用 Laravel 将数据传递给控制器
【发布时间】:2016-11-26 09:16:16
【问题描述】:

我在将一些数据从我的视图传递到我的控制器时遇到了一点问题。

请看一下这段代码sn-p:

{!! Form::open(['action' => 'DomainController@detach', 'method' => 'post']) !!}
                @foreach($domains as $domain)
                    <tr>
                        <td>{{ $domain->name }}</td>
                        <td>{{ $domain->tld }}</td>
                        <td id="hello">
                            @foreach($domain->tags as $tag)
                                {{ $tag->name }},<br>
                            @endforeach
                        </td>
                        <td>
                            @foreach($domain->tags as $tag)
                                {!! Form::hidden('tag_id[]', $tag->id) !!}
                                <button name="domain_id" value="{{ $domain->id }}" class="glyphicon glyphicon-trash"></button>
                                <br>
                            @endforeach
                        </td>
                    </tr>
                @endforeach
 {!! Form::close() !!}

在我的控制器中是一个:

$input = Input::all();
        return $input;

在我的代码中(最后一个)是一个按钮。如果我按下按钮,我将被定向到我的控制器操作。我在我的 $input 变量中返回骰子数据,它总是向我显示相同的 tag_id。始终是该域的最后一个 tag_id。我不知道为什么,也无法弄清楚。

【问题讨论】:

    标签: php arrays laravel parameter-passing


    【解决方案1】:

    您有 2 个同名字段:

    {!! Form::hidden('tag_id', $domain->pivot->id) !!}
    <button name="tag_id" value="{{ $domain->id }}" class="glyphicon glyphicon-trash"></button>
    

    【讨论】:

    • 好吧,那是复制粘贴错误。我已经更新了我的问题。问题还是一样。它总是返回我最后一个 tag_id (220)。无论我按下 tag_id 1 或 5 还是 199 的按钮。结果总是 tag_id 220(仅作为示例)
    【解决方案2】:

    应该是:

    {!! Form::hidden('tag_id[]', $domain->pivot->id) !!} 
    

    您在输入中缺少 []

    【讨论】:

    • 这给了我每个 tag_id。这只是一个包含该域具有的每个 tag_id 的数组。我想要我按下的按钮的 tag_id 。但是 laravel 总是给我最后一个 tag_id
    • 那么您必须在循环中打开和关闭表单,并使用没有名称属性的按钮类型提交,确保您不想要一些客户端处理,在这种情况下删除 []
    • 你说得对,我已经在 foreach 循环中打开/关闭了表单,它起作用了 :)
    猜你喜欢
    • 2014-12-08
    • 1970-01-01
    • 1970-01-01
    • 2015-12-24
    • 1970-01-01
    • 2019-07-16
    • 2019-01-06
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多