表单模型数据在@yield Laravel 5上无法正常运行

时间:2015-12-30 04:12:21

标签: php laravel-5.1 blade laravel-form

我想要的只是在模板上定义表单模型,然后将yield作为表单数据的内容。但它无法将模型数据正确分配到已定义的每个字段中。 这是我的代码:

template.detail.blade.php

@extends('admin.template.lte.layout.basic')

@section('content-page')
    {!! Form::model($model, ['url' => $formAction]) !!}
        @yield('data-form')
    {!! Form::close() !!}
    @if ($errors->any())
@stop

partial.edit.blade.php

@extends('template.detail')
@section('data-form')
    <div class="form-group">
        {!! Form::label('Dal_Name', 'Alternative Name', ['class' => 'required']) !!}
        {!! Form::text('Dal_Name', null, ['required', 'class' => 'form-control', 'placeholder' => 'Enter Alternative Name']) !!}
    </div>

    <div class="form-group">
        {!! Form::label('Dal_DssID', 'DSS Period', ['class' => 'required']) !!}
        {!! Form::select('Dal_DssID', $dssOptions, null, ['class' => 'form-control']) !!}
    </div>

    <div class="checkbox">
        <label for="Dal_Active">
            {!! Form::hidden('Dal_Active', 'N') !!}
            {!! Form::checkbox('Dal_Active', 'Y') !!}
            Active
        </label>
    </div>
@stop 

我的控制器部分:

     /**
     * Show the form for editing the specified resource.
     *
     * @param  int $id
     *
     * @return \Illuminate\Http\Response
     */
    public function edit($id)
    {
        $this->data['model'] = DssAlternative::find($id);
        $this->data['formAction'] = \Request::current();
        $this->data['dssOptions'] = Dss::lists('Dss_Name', 'Dss_ID');
        return view('partial.edit', $this->data);
    }

但模型数据不会传播到正确的形式。 抱歉我的英语不好。

1 个答案:

答案 0 :(得分:0)

由于您将$model对象传递给partial/edit.blade.php文件,并且希望在template/detail.blade.php

中使用它,因此无法正常工作

正好在这条线上 {!! Form::model($model, ['url' => $formAction]) !!}

<强>解决方案:template/detail.blade.php中将表单模型行放在里面,如下所示:

@extends('admin.template.lte.layout.basic')

@section('content-page')
    @yield('data-form')
    @if ($errors->any())
@stop

所以partial/edit.blade.php如下所示:

@extends('template.detail')
@section('data-form')
{!! Form::model($model, ['url' => $formAction]) !!}        
    <div class="form-group">
        {!! Form::label('Dal_Name', 'Alternative Name', ['class' => 'required']) !!}
        {!! Form::text('Dal_Name', null, ['required', 'class' => 'form-control', 'placeholder' => 'Enter Alternative Name']) !!}
    </div>

    <div class="form-group">
        {!! Form::label('Dal_DssID', 'DSS Period', ['class' => 'required']) !!}
        {!! Form::select('Dal_DssID', $dssOptions, null, ['class' => 'form-control']) !!}
    </div>

    <div class="checkbox">
        <label for="Dal_Active">
            {!! Form::hidden('Dal_Active', 'N') !!}
            {!! Form::checkbox('Dal_Active', 'Y') !!}
            Active
        </label>
    </div>
{!! Form::close() !!}
@stop