【问题标题】:Laravel Plucking 5.4 error variable undefinedLaravel Plucking 5.4 错误变量未定义
【发布时间】:2017-03-03 17:24:30
【问题描述】:

Error Churchdetails 未定义:

这是牧师控制器

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

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

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

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

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

【问题讨论】:

  • 你能发布完整的错误吗?
  • 您提供的刀片文件是addpastor 还是adddelegate?反正我看不到$churchname 的任何用途...
  • 这是给addpastor但addpastor和adddelegate有同样的错误
  • 您发布的错误是churchname。在您发布的视图中的任何地方都没有使用churchname

标签: database laravel web laravel-5.3 pluck


【解决方案1】:

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

因此,您的create() 方法会出错,提示未定义教堂详细信息。

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

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

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

【讨论】:

  • 我已经将它添加到我的创建函数中,但它仍然不起作用。 Churchdetails 变量仍未定义
【解决方案2】:

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

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

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

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

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

另外一件事,在你的形式中,你是否一次将一位牧师添加到教堂?我问您的许多字段/变量名称是否是复数的原因,但从我可以看到的情况来看,例如“$pastors = New Pastor;”您的商店功能中的声明是添加一个 $pastor

【讨论】:

    猜你喜欢
    • 2019-11-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-11-30
    • 2014-12-09
    • 2016-04-01
    相关资源
    最近更新 更多