您好我在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.");
Q1:
一旦我调用dd(Input::all());
我就不再被重定向了,而是看到一个带有我的表单值的json。
Q2:
我只是调试这个,所以我没有编程。所以我的第二个问题是:
根据我的理解dd(Input::all());
获取我的所有表单数据。所以我不需要在任何地方存储它吗?
答案 0 :(得分:1)
Q1 :dd()会终止脚本,因此您无法重定向。它被用作一种工具来基本上打破并检查正在发生的事情。
http://laravel.com/docs/4.2/helpers
Q2 :您仍然需要一个模型来将Input::all
数据输入。 Input :: all只是提取提交的数据,它不会对它做任何事情。它最终取决于您的使用案例,有时您可能希望通过电子邮件发送数据,但显然大多数时候您会将其存储在持久层(读取数据库/数据存储区)
答案 1 :(得分:0)