Carregar Múltiplos Modelos Em UM Контроллер - PullRequest
0 голосов
/ 09 мая 2019

В моей функции Create от моего контроллера продуктов. Я делаю несколько звонков другим моделям, которые используются для крепления комбо на блейде вида.

    $grade = Grade::all();
    $marca = Marca::all();
    $ncm = Ncm::all();
    $clafiscal = Clafiscal::all();
    $Otributaria = Origemtributaria::all();
    $unidade = Unidade::all();
...

    return view('products.create',
            compact(
                'page',
                'etiqueta',
                'compCusto',
                'grade',
                'marca',
                'ncm' ,
                'clafiscal',
                'Otributaria',
                'grupo',
                'colecao'...);

Is it possible for me to reduce these calls?

1 Ответ

2 голосов
/ 09 мая 2019

Я считаю, что нет другого способа сжать несколько значений.

Но, если ваша проблема связана с грязным контроллером (со многими вызовами функций и обязанностями), вы должны попытаться создать более конкретный метод, который будет обрабатывать загрузку и сжатие зависимостей.

Попробуйте что-то вроде этого:

public function loadDependencies()
{
    $dependencias = [];

    $dependencias['grade'] = Grade::all();
    $dependencias['marca'] = Marca::all();
    $dependencias['ncm'] = Ncm::all();
    $dependencias['clafiscal'] = Clafiscal::all();
    $dependencias['Otributaria'] = Origemtributaria::all();
    $dependencias['unidade'] = Unidade::all();

    return compact($dependencias);
}

public function create()
{
    return view('products.create', $this->loadDependencies());
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...