2017-03-03 56 views
0

enter image description here错误churchdetails没有定义:Laravel采摘5.4误差变量未定义

这是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(); 
} 

这是视图

@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 

这是路由

Route::resource('pastor', 'pastorController'); 
Route::get('pastordetails', '[email protected]'); 

churchdetails变量未定义。我错过了什么?请帮助

,我已经创建了索引功能的教堂和牧师

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

之间的关系在你的声明$churchdetails = Church::all();,你有一个分号那里。这只是一个错字吗?你也许需要重新检查你定义的关系。在你的教会职能中,如果我的理解正确,你说的是一个教会属于许多教会,而不是一个拥有许多牧师的教会。教会的功能应该是类似

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

,如果你想说一个教会有许多牧师

和属于教会的牧师应该

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

另一件事,你的形式是你每次增加一个牧师到教堂吗?我问你是否有很多你的字段/变量名称是复数,但是从我能看到的'$ pastors = New Pastor'这样的字眼,声明在您的商店功能是添加一个$牧师

0

我假设你在创建路线上出现此错误。您的create()方法使用addpastor视图,但不像index()方法那样通过churchdetails方法。

因此,您的create()方法会错误地指出教会的细节未定义。

确保您create()方法传递它需要的数据:

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

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

我已经将此添加到我的创建功能,但它仍然无法正常工作。 churchdetails变量仍未定义 –