最好的方法是使用表单模型绑定(
http://four.laravel.com/docs/html#form-model-binding):
使用现有模型或创建“空”模型类:
class NoTable extends Eloquent {
protected $guarded = array();
}
找到你的模型或实例化你的空类并用数据填充它:
public function getSampleform() {
// Load database data here
$model = new NoTable;
$model->fill(['name' => 'antonio','amount' => 10]);
return View::make('sampleform')->with(compact('model'));
}
如果您将表单与已有数据的表格一起使用,则可以使用以下方法:
public function getSampleform() {
// Locate the model and store it in a variable:
$model = User::find(1);
// Then you just pass it to your view:
return View::make('sampleform')->with(compact('model'));
}
要填充表单,请使用表单模型绑定,这是Blade中的一个示例:
{{ Form::model($model,array('route' => array('sample.form')) ) }}
{{ Form::text('name') }}
{{ Form::text('amount') }}
{{ Form::close() }}
您甚至不必传递输入数据,因为Laravel将使用首先填充您的输入:
1 - Session Flash Data (Old Input)
2 - Explicitly Passed Value (wich may be null or not)
3 - Model Attribute Data
Laravel还将使用Form :: open()或Form :: model()为您处理csrf令牌.