У меня есть система, где есть страница по умолчанию и 4 модели, эти модели можно изменить, имя файла, соответствующего модели, находится в базе данных, вот когда начались мои проблемы, потому что я не могу поставить переменнуюэто определяет имя файла в return view (), хотя переменная находится в той же функции, я знаю, что проблема не в переменной, она возвращает ожидаемое значение, но laravel не распознает его так, как я пытаюсь.
контроллер
public function searchByName($name)
{
$company = Company::where('name', $name)->firstOrFail();
$personality = DB::table('personalities')->where('name', $name)->first();
$home_cp = DB::table('personalities')->select('index_company')->where('name', $name)->first();
$index_company = view('company.base.$home_cp');
return view('company.base.index', compact('company', 'name', 'personality', 'index_company'));
}
просмотр
@if(isset($personality))
{{$index_company}}
@else
@include('company.base.default')
@endif;
erro
InvalidArgumentException
View [company.base.$home_cp] not found.
проблема здесь в том, что он говорит, что страница не была найдена, потому что файл '$ home_cp' не существует, то есть он не рассматривает '$ home_cp' как переменную, поэтому он не возвращает то, что мне нужно в этомcase имя файла.
Обратите внимание, что проблема в контроллере, а не в предварительном просмотре. Если вы перейдете к предварительному просмотру и ничего не найдете, он покажет вам файл по умолчанию.
Каков наилучший способ решить эту проблему или какой правильный способ сделать это (если есть)?