Привязка модели формы Laravel и поля ввода html

Я использую привязку модели формы в Laravel для своих представлений обновления, чтобы достичь приоритета 1. Флэш-данные сеанса (старый ввод) 2. Явно переданное значение 3. Данные атрибута модели

{{ Form::model($model, array('url' => $route.'/update/'.$model->id)) }}
{{ Form::label('price', trans_choice('app.price', 1), array('id' => 'price_label')) }}
{{ Form::text('price', null, array('id' => 'price')) }}

Это отлично работает, но я хотел бы сделать то же самое, не используя обозначение лезвия для входных полей, то есть я хотел бы заменить

{{ Form::text('price', null, array('id' => 'price')) }} 

с

<input type="text" name="price" id="price" value="">

но все же получить вышеупомянутый приоритет, возможно ли это?


person Shakur    schedule 13.09.2013    source источник


Ответы (1)


Вы можете попробовать использовать это:

<input id="price" name="price" type="text" value="{{{ Form::getValueAttribute('price', null) }}}">

Это функция, вызываемая Form::text для замены значения.

Laravel 4 Form::getValueAttribute функция:

/**
 * Get the value that should be assigned to the field.
 *
 * @param  string  $name
 * @param  string  $value
 * @return string
 */
public function getValueAttribute($name, $value = null)
{
    if (is_null($name)) return $value;

    if ( ! is_null($this->old($name)))
    {
        return $this->old($name);
    }

    if ( ! is_null($value)) return $value;

    if (isset($this->model))
    {
        return $this->getModelValueAttribute($name);
    }
}
person lu cip    schedule 13.09.2013
comment
Спасибо за ваше предложение, но это фактически перезапишет значение модели по умолчанию. - person Shakur; 13.09.2013
comment
Это не перезапишет значение модели по умолчанию... на самом деле это функция, используемая моделью для установки значения. - person lu cip; 21.10.2013