gpt4 book ai didi

php - 我需要在 Controller 中创建一个函数来显示特定 View ,其文件名由数据库确定。 - 拉拉维尔

转载 作者:行者123 更新时间:2023-11-29 15:32:35 25 4
gpt4 key购买 nike

我有一个系统,其中有一个默认页面和4个模型,这些模型可以更改,与模型对应的文件名在数据库中,这就是我的问题开始的时候,因为我不能放置变量确定 return view () 中的文件名,虽然变量位于同一函数内,但我知道问题不是变量,它返回预期值,但 laravel 无法按照我尝试的方式识别它。

Controller

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;

错误

InvalidArgumentException
View [company.base.$home_cp] not found.

这里的问题是它说找不到页面,因为文件“$home_cp”不存在,即它不将“$home_cp”视为变量,因此它不会返回我在此需要的内容文件名大小写。

请注意,问题出在 Controller 上,而不是预览上。如果您进入预览并没有找到任何内容,它将显示默认文件。

解决这个问题的最佳方法是什么,或者正确的方法是什么(如果有的话)?

最佳答案

使用双引号代替单引号来解析变量

$index_company = view('company.base.$home_cp');

应该是

$index_company = view("company.base.$home_cp");

关于php - 我需要在 Controller 中创建一个函数来显示特定 View ,其文件名由数据库确定。 - 拉拉维尔,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58576574/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com