Задать вопрос
Ответы пользователя по тегу Laravel
  • Деревья в Laravel, как создать массив?

    @Al3xanderG Автор вопроса
    Вспоминаю как это быть web разработчиком...
    В итоге пока решил задачу следующим образом, добавил новый метод в модели Contract, которому скармливаю массив полученный с помощью связи таблиц:
    public function makeContractFiles($array,$level) {
            if(count($array)>0) {
                foreach($array as $key => $value) {
                    // выполняем перебор массива и ищем все элементы уровня level
                    if($value['parent_id']==$level) {
                        // начинаем собирать новый массив
                        $files[]=array(
                            'name'  => $value['title'],
                            'id'    => $value['id'],
                            'child' => $this->makeContractFiles($array,$value['id']),
                        );
                    }
                }
            }
    
            if(isset($files)) {
                return $files;
            } else {
                return 0;
            }
        }


    Данный метод выдает мне массив, который уже спокойно обрабатывается в шаблоне блейда и выдает либо дерево списками UL, либо SELECT выбора.
    Ответ написан
    Комментировать
  • Соединение двух таблиц и сортировка в Laravel?

    @Al3xanderG Автор вопроса
    Вспоминаю как это быть web разработчиком...
    Решил вопрос таким образом:
    у контактов тип связи hasOne, у фирм belongsTo, запрос для вывода:
    $partners = partner::orderBy('shortName','asc')->get();

    в шаблоне как-то так:
    @foreach ($partners as $partner)
                                @if ($partner->contact->count() > 0)
                                    @foreach ($partner->contact as $contact)
                                    <tr>
                                        <td>{{ $partner->shortName }}</td>
                                        <td>{{ $contact->lname }}</td>
                                        <td>{{ $contact->telm }}</td>
                                        <td>{{ $contact->telw }}</td>
                                        <td>{{ $contact->email }}</td>
                                    <td></td>
                                    </tr>
                                    @endforeach
                                @endif
                            @endforeach


    Насколько это решение правильно?
    Ответ написан