是否可以将自定义Form::macro()
与Form::model()
功能结合使用?
当我第一眼看到它时,我无法将模型数据传递给宏方法。
答案 0 :(得分:8)
只有Form :: text之类的Form函数会自动查找表单模型。在宏中,你可以通过几种方式实现。最简单的方法是使用Form::getValueAttribute($name)
。例如:
Form::macro('myField', function() {
$value = Form::getValueAttribute('username');
return "<input type='text' name='username' value=$value >";
});
然后您可以在刀片模板中使用它,如下所示:
<?php
$user = new User;
$user->username = "bob";
echo Form::model($user);
echo Form::myField();
echo Form::close();
?>
您可以在源代码中找到所有可用的表单函数:https://github.com/laravel/framework/blob/master/src/Illuminate/Html/FormBuilder.php