也许这是一个简单的问题,但我无法找到解决方案。
我正在构建一个表单来修改具有以下字段的文档:
lesson_title
,day_id
,speaker_id
和file
。
保存文档效果很好,当我想编辑单个记录时问题就出现了。这就是我正在使用的:
{{ 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')
的类似问题,我看到所有扩展名,完整路径,而我只想看到文件的名称。
答案 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') }}