我在我的项目中需要一些帮助,我收到此错误“试图获取非对象的属性'Nom'”。 这是代码:
控制器:
public function rdv($Name,$ID)
{
$name=doc::find($Name);
$iden=doc::find($ID);
return view ('/rendezvous',['go'=>[$name]]) ;
}
这是集合的视图:
<title> RDV chez {{$go->Name}}</title>
谢谢您的帮助?我需要在标题中显示姓名
答案 0 :(得分:1)
您正试图访问像对象这样的数组。使用$go->Name
代替$go[0]
。但这只是一种解决方法。
实际的解决方案是像这样将变量发送到视图:
return view ('/rendezvous',['go'=> ['Name' => $name]]);
然后在您看来:
<title> RDV chez {{$go['Name']}}</title>
答案 1 :(得分:1)
尝试使用find()来获取正在处理的主键,该主键很可能是ID
public function rdv($Name,$ID)
{
$name=doc::find($ID);
return view ('/rendezvous',['go' => $name]);
}
并在您看来
<title> RDV chez {{$go->name}}</title>
我希望这会有所帮助
答案 2 :(得分:0)
未找到异常
有时候,如果找不到模型,您可能希望抛出异常。这在路由或控制器中特别有用。
findOrFail
方法将检索查询的第一个结果;但是,如果未找到结果,将抛出Illuminate\Database\Eloquent\ModelNotFoundException
:
因此,在变量$ID
中,您将需要具有数据库中现有模型的id
的值。然后,您可以:
public function rdv($Name,$ID)
{
$model = doc::findOrFail($ID);
return view ('rendezvous', ['go' => $model]);
}
然后在rendezvous
视图中,您可以访问模型属性,例如id
和name
:
<small>The model ID is: {{ $go->id }}</small>
<title>RDV chez {{ $go->name }}</title>