laravel以形式显示修改后的值

时间:2015-02-02 10:01:51

标签: forms laravel

也许这是一个简单的问题,但我无法找到解决方案。

我正在构建一个表单来修改具有以下字段的文档: lesson_titleday_idspeaker_idfile

保存文档效果很好,当我想编辑单个记录时问题就出现了。这就是我正在使用的:

{{ Form::model($document, array('route' => array('admin.material.update', $document->id),'files' => true, 'method' => 'put')) }}
<p>
    {{ Form::label('Lesson title') }}
    {{ Form::text('lesson_title') }}
</p>
<p>
    {{ Form::label('Speaker') }}
    {{ Form::select('speaker_id', Speaker::lists('fullname', 'id')) }}
</p>
<p>
    {{ Form::label('Day of the lesson') }}
    {{ Form::text('masterday_id', array('class' => 'form-control','id' => 'calendar')) }}
</p>
<p>
    {{ Form::label('Material','Select the material to insert') }}
    {{ Form::label('file') }}
    {{ Form::file('file') }}
</p>
    {{ Form::button('Save', ['type' => 'submit']) }}
{{ Form::close() }}

对于演讲者我没有任何问题,因为Speaker::lists给出了与其相对身份证相关的姓名列表。

我的masterday_id存在问题,这是表masterdays中的ID。此表中的记录只有一个day字段(并且格式化为日期)。

我希望如此,在我的Form::text('masterday_id')中,我们可以看到与该ID相关的day,而不是ID。

Form::label('file')的类似问题,我看到所有扩展名,完整路径,而我只想看到文件的名称。

1 个答案:

答案 0 :(得分:0)

对于masterday_id,您需要在模型中创建关系(如果尚未创建)

public function masterday(){
    return $this->hasOne('Masterday');
}

然后,您可以使用此语法从该相关模型中检索字段:

Form::text('masterday[day]');

对于file,您可以使用attribute accessor

public function getFilenameAttribute(){
    return basename($this->attributes['file']);
}

用法:

{{ Form::label('filename') }}