Переменная ошибки Laravel Plucking 5.4 не определена
Ошибка 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');
}
2 ответа
В вашем заявлении $churchdetails = Church::all();
в вашей индексной функции у вас есть точка с запятой. Это просто опечатка? Также вам может понадобиться перепроверить ваши отношения, которые вы определили. В вашей работе с церквями вы говорите, что, если я правильно понимаю, церковь принадлежит многим церквям, а не церкви с множеством пасторов. функция церквей должна быть что-то вроде
return $this->hasMany(Pastor::class)
если вы хотите сказать, что в церкви много пасторов
и для пастора, принадлежащего к церкви, это должно быть
return $this->belongsTo(Church::class)
Другое дело, вы добавляете пастора в церковь одновременно? Причина, по которой я спрашиваю, являются ли многие имена ваших полей / переменных множественными, но из того, что я вижу, например: $pastors = New Pastor; оператор в вашей функции магазина добавляет один $ пастор
Я предполагаю, что вы получаете эту ошибку при создании маршрута. Ваш create()
метод использует addpastor
вид, но не проходит в churchdetails
как твой index()
метод делает.
Из-за этого ваш create()
Метод выдаст ошибку, сказав, что церковные детали не определены.
Убедитесь, что ваш create()
Метод передает необходимые данные:
public function create()
{
$churchdetails = Church::pluck('church_name','church_address');
return view('addpastor')
->withchurchdetails($churchdetails);
}