Laravel采集5.4错误变量未定义

时间:2017-03-03 17:24:31

标签: database laravel web laravel-5.3 pluck

enter image description here错误churchdetails未定义:

这是pastorController

@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', 'pastorController@index');

这是路线

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

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

没有定义churchdetails变量。我想念的是什么?请帮忙

我已经建立了教会和牧师之间的关系

 increase = counter + 2
 recursion(increase)

2 个答案:

答案 0 :(得分:0)

在索引函数的语句$churchdetails = Church::all();中,那里有一个分号。这只是一个错字吗?您也可能需要重新检查您已定义的关系。在你的教会功能中,你说的是教会属于许多教会而不是教会有许多牧师,如果我理解正确的话。教会的功能应该是

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

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

对于属于教会的牧师应该是

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

另一件事,在你的形式中,你是否一次在教堂里添加牧师?我之所以问你是否有很多你的字段/变量名称是复数的,而是我可以看到的'$ pastors = New Pastor;'商店功能中的声明是添加一个$ pastor

答案 1 :(得分:0)

我假设您在创建路线上遇到此错误。您的create()方法使用addpastor视图,但未像churchdetails方法那样传递index()

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

确保您的create()方法传递了所需的数据:

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

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