我使用名为“previous_owner
”的外键创建了产品和用户之间的关系。我可以看到当我转移我正在传递给我的数据的视图时,我可以使用以下数据:
$product->relations->product_owner->user->attributes->name
但是我如何从我的视图中访问它。我正在尝试遍历产品,然后执行以下操作:
{{ $product->product_owner->user->name }}
要么
{{ $product->product_owner->name }}
但它不起作用,继续得到:
“试图获得非对象的属性'名称'
在您的视图中,代码必须与此类似
@foreach($products as $product)
{{ $product->product_owner->name }}
@endforeach
此代码表示每个产品都有product_owner。当一个产品没有product_owner
时$product->product_owner
的案例值为Null然后你的代码是null->name
并且你得到错误。要修复它,您必须检查关系为null或使用??
运算符。将您的代码更改为
@foreach($products as $product)
{{ $product->product_owner->name ?? ''}}
@endforeach
要么
@foreach($products as $product)
@if($product->product_owner)
{{ $product->product_owner->name}}
@endif
@endforeach
如果name
是属性而product_owner
是关系函数,那么尝试以下:
{{ $product->product_owner()->name }}
您的product_owner不是stdClass。这是阵列。因此,您无法使用“ - >”运算符访问此数组的此键。尝试
{{ $product->product_owner['name'] }}