【问题标题】:Laravel/Blade Form PUT Method, dd(Input::all());Laravel/Blade 形式 PUT 方法,dd(Input::all());
【发布时间】:2015-03-05 17:46:12
【问题描述】:

您好,我在contact.blade.php 中发送了一个表格。我读到要使用 PUT 方法,您必须创建一个包含该方法的隐藏输入字段。

      @if($do == 'edit')
        {{ Form::model($contact, array('method' => 'PUT', 'route' => array('contact.update', $contact->id), 'id' => $do=='edit' ? $do.$contact->id : $do.$contact_type_id, 'form_id' => $do=='edit' ? $do.$contact->id : $do.$contact_type_id)) }}
        {{ Form::hidden('_method', 'PUT') }}
      @endif
        ....
        {{ Form::submit('speichern', array('class' => 'btn btn-primary')) }}
        </div>
      {{ Form::close() }}

路线:

Route::put('/contact/{id}', array(
    'uses'      => 'ContactController@update',
    'as'        => 'contact.update'
));

控制器:

public function update($id)
{
    dd(Input::all());
    // //get user account data
    // $user = User::find( Auth::id() );
    // // validate input
    // $v = Contact::dataValidation( Input::all() );
    return Redirect::Route('user.edit', 1)->withSuccess("<em>Hans</em> wurde gespeichert.");

第一季度: 只要我打电话给dd(Input::all());,我就不会再被重定向,而是看到一个带有我的表单值的json。

第二季度: 我只是在调试它,所以我没有对其进行编程。所以我的第二个问题是: 据我了解,dd(Input::all()); 获取了我所有的表单数据。所以我不需要把它存储在某个地方吗?

【问题讨论】:

    标签: php laravel blade


    【解决方案1】:

    Q1:dd() 终止脚本,因此您没有被重定向。它被用作一种工具,从根本上打破和检查正在发生的事情。

    http://laravel.com/docs/4.2/helpers

    Q2:您仍然需要一个模型来将 Input::all 数据输入。 Input::all 只是获取提交的数据,它不做任何事情。这最终取决于您的用例,有时您可能希望通过电子邮件发送数据,但显然大多数时候您希望将其存储在持久层(读取数据库/数据存储)中

    【讨论】:

    • 删除它似乎使功能工作。有什么理由/使用前程序员可以添加这个的原因吗?或者反过来问,因为它没有保存它可能只是为了看到json?
    • 如果这是来自以前的程序员,我会假设他正在调试以查看发生了什么
    【解决方案2】:

    问题 1 当您使用 DD 时,它将显示数据并停在该行。

    DD

    转储给定的变量并结束脚本的执行。

    更多信息你可以在这里阅读它DD在DD会话中。

    问题 2 我不确定第二个问题,但如果您想从所有输入中获得价值,您可以联系我们Input::all(); 获取请求会话的所有输入中的更多信息All input

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2015-10-24
      • 2016-10-23
      • 2021-04-14
      • 2014-08-14
      • 1970-01-01
      • 2020-02-15
      • 1970-01-01
      相关资源
      最近更新 更多