2015-12-30 3 views
0

все, что я хочу, это определить модель формы на шаблоне, а затем поместить доход как содержимое данных формы. Но он не может правильно присвоить данные модели в каждом поле, которое было определено. Это мой код:Данные модели модели не работают корректно на @yield Laravel 5

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 

My Controller часть:

 /** 
    * 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); 
    } 

Но данные модели не распространяются правильно. Извините за мой плохой английский.

ответ

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 

Soбудет, как показано ниже:

@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 
+1

благодаря Магомет, я стараюсь, что и раньше, но я хочу, чтобы обобщить все формы открывающий и закрывающий структуру (вставка, обновление) данных. но нет шанса .. :( –

+0

В этом случае просто добавьте еще один @yield для заголовка формы :) –