Answer the question
In order to leave comments, you need to log in
What is the best pattern to display related data to use?
Functions from laravel , but the question in general is about any other frameworks, templating engines, and even just outputting a bunch of information to the DOM or somewhere else.
//Переменные чтобы не путать взял ABC
$ItemA=A::findOrFail($id);//Основная информация , будет выведена на форме(item A) например массив id name date
$selectedB=[];//Выбранные b айтемы например массив id name types A_id и C_Id
$B=$ItemA->GetB;//Кто знает ларавел те поймут там так реализованы связи, если не говорить о laravel то просто по A item(его id) берем B привязанные массив id name types A_id C_id из них и строится selected
$BTypes=['BtypeOne','BtypeTwo'];//упрощенно массив типов существующих
$C=C:All();
//Как следует напряжем сервер
foreach($B as $el){
foreach($BTypes as $type){
if($el->type==$type){
$selectedB[$el->C_id][$type]=$el;
}
}
}
//ItemA
<div class="form-group">
<label>Timing</label>
{{Form::text('name',null,array('required' => 'required','class'=>'form-control'))}}
</div>
и так далее все что на форму а идет для редактирования кароче просто А само
//Внимание кульминация
@foreach($BTypes as $BType)
@foreach($B as $b)
<input
name="B[{{$c->id}}][BId]"
value="{{isset($selectedB[$C->id][$BType['id'])?
$selectedB[$C->id][$BType]['id']:'null'}}">
ну и так далее
@endforeach
@endforeach
Answer the question
In order to leave comments, you need to log in
laravelcollective.com/docs/5.0/html#form-model-binding
echo Form::model($ItemA); // прибиндили модель
echo Form::select('GetB', C:All()); // для списка используется результат C::all(), а чекнутые возьмутся из поля GetB модели $ItemA
Didn't find what you were looking for?
Ask your questionAsk a Question
731 491 924 answers to any question