2017-03-03 9 views
0

enter image description hereエラーchurchdetailsを爪弾くLaravelが定義されていない。5.4エラー変数未定義

これはこれはこれはルート

Route::resource('pastor', 'pastorController'); 
Route::get('pastordetails', '[email protected]'); 
あるビュー

@extends('layouts.app') 

@section('content') 
<div class="container"> 
    <div class="row"> 
     <div class="col-md-8 col-md-offset-2"> 
      <div class="panel panel-default"> 
       <div class="panel-heading">Add Church</div> 
       <div class="panel-body"> 
        {!! Form::open(['route' => 'pastor.store']) !!} 
         {!! Form::label('churches_id', 'Church Details:', null, array('class' => 'col-md-4 control-label')) !!} 

         {!! Form::select('churches_id', $churchdetails, null, array('class'=>'form-control', 'style' => 'height:34px', 'required' => ''))!!} 


        <div class="form-group"> 
         {!! Form::label('pastor_name', 'Pastor Name:') !!} 
         {!! Form::text('pastor_name', null, array('class' => 'form-control', 'required' => '', 'maxlength' => '100')) !!} 


        {!! Form::submit('Save Church', array('class' => 'btn btn-primary', 'style' => 'margin-top: 20px')) !!} 
        {!! Form::close() !!} 
        </form> 
       </div> 
      </div> 
     </div> 
    </div> 
</div> 

@endsection 

あるpastorController

public function index() 
{ 
    $pastors = Pastor::all(); 
    $churchdetails = Church::all()->pluck('church_name','church_address'); 
    return view('addpastor')->withpastors($pastors)->withchurchdetails($churchdetails); 
} 

public function create() 
{ 
    return view('addpastor'); 
} 

public function store(Request $request) 
{ 
    //validation input 
    $this->validate($request, [ 
     'pastor_name' => 'required|max:100', 
    ]); 

    $pastors = New Pastor; 
    $pastors->pastor_name = $request->pastor_name; 

    $pastors->save(); 

    return redirect()->back(); 
} 

です

churchdetails変数が定義されていません。私は何をすべきか? Plsは

を助け、私はすでにあなたのインデックス機能であなたの声明$churchdetails = Church::all();の教会や牧師

public function churches() 
{ 
    return $this->belongsToMany('App\Church'); 
} 

public function pastors() 
{ 
    return $this->belongsToMany('App\Pastor'); 
} 
+0

あなたは完全な誤りを投稿することができますか? – Samsquanch

+0

あなたは 'addpastor'または' adddelegate'を提供したブレードファイルですか?とにかく '$ churchname'の使用は見えません... –

+0

それはaddpastor用ですが、addpastorとadddelegateには同じエラーがあります –

答えて

0

との間の関係を作成している、あなたはそこにセミコロンを持っています。それは単にタイプミスですか?また、定義した関係を再確認する必要があるかもしれません。あなたの教会の機能では、私が正しく理解しているならば、多くの牧師がいる教会の代わりに教会が多くの教会に属していると言っています。あなたは教会が多くの牧師

と、それはもう一つ

return $this->belongsTo(Church::class) 

である必要があり、教会に属する牧師のために持っていると言うしようとしている場合は、教会の機能は

return $this->hasMany(Pastor::class) 

のようなものでなければなりませんあなたの形式で、一度に教会に牧師を追加していますか?あなたのフィールド/変数名の多くが複数であるが、私が '$ pastors = New Pastor;'のように見ることができるかどうかを尋ねる理由は、あなたの店舗機能のステートメントに1人の$牧師が追加されています

0

私はあなたが作成ルートでこのエラーが発生していると仮定しています。 create()メソッドではaddpastorビューが使用されますが、index()メソッドのようにchurchdetailsは渡されません。

このため、create()メソッドでは、churchdetailsが定義されていないというエラーが表示されます。

あなたcreate()方法は、それが必要なデータを渡していることを確認してください:

public function create() 
{ 
    $churchdetails = Church::pluck('church_name','church_address'); 

    return view('addpastor') 
     ->withchurchdetails($churchdetails); 
} 
+0

私はすでにこれを私の作成機能に追加しましたが、それでも機能しません。 churchdetails変数はまだ定義されていません –