Laravel-雄辩的关系和变量

Laravel-雄辩的关系和变量,laravel,eloquent,has-many,isnull,Laravel,Eloquent,Has Many,Isnull,我有两个表,通过$this->hasMany方法通过“company\u name”连接 table 'Companies' -> 'company_name', 'logo', 'description'; table 'Branches' -> 'company_name, 'type', address', 'phone'; 因此,在我看来,我显示第一个表中的信息,如果公司有分支机构,我也会显示它们。在那之前一切都正常。我的问题是“type”列 @例如,如果公司类型为“1”,

我有两个表,通过
$this->hasMany
方法通过“company\u name”连接

table 'Companies' -> 'company_name', 'logo', 'description';
table 'Branches' -> 'company_name, 'type', address', 'phone';
因此,在我看来,我显示第一个表中的信息,如果公司有分支机构,我也会显示它们。在那之前一切都正常。我的问题是“type”列

@例如,如果公司类型为“1”,则显示特定文本

所以问题是,如果一家公司没有分支机构,视图会给出一个错误(试图获取非对象的属性“type”)

我已经研究过了,但我真的不知道如何解决它

这是在我的控制器方法中:

$company = Company::where('slug', $slug)->first();
$branch = $company->branch->first();

return view('companies.show', compact('company', 'branch'));

我知道我应该声明
$branch
只有当该公司存在于表“branchs”中时,但我真的不知道如何声明。如果有人帮我,请提前感谢。

在尝试获取对象的属性之前,您应该先检查视图是否为
$branch
对象。在您的情况下,
$branch
可以是对象或
null

因此,您可以像
{{isset($branch)?$branch->type:''}}
或同一表达式的较短版本是
{{{$branch->type???'}

谢谢您的提示;)我使用了@if(isset($branch))并将我的另一个if嵌套在其中,得到了我想要的