A
A
Abc Edc2015-08-13 13:45:45
Template Engines
Abc Edc, 2015-08-13 13:45:45

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;
                }
            }
        }

I draw
Attention for the faint of heart to move away from the screen and take children 18+
// Using the BLADE template engine as an example. BUT the question is in general about deriving the best pattern for this
//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

1 answer(s)
V
Vyacheslav Plisko, 2015-08-13
@gleber1

laravelcollective.com/docs/5.0/html#form-model-binding

echo Form::model($ItemA); // прибиндили модель
echo Form::select('GetB', C:All()); // для списка используется результат C::all(), а чекнутые возьмутся из поля GetB модели $ItemA

ps Use normal variable names, otherwise it is impossible to read your questions.

Didn't find what you were looking for?

Ask your question

Ask a Question

731 491 924 answers to any question