【发布时间】:2017-10-18 19:19:49
【问题描述】:
我在这里阅读:
Has one through Laravel Eloquent
但这并不能解决问题
我们有制造商名称,例如:
kohler company
kohler
Kohler US
我们将这些名称捆绑在一个干净的名称中 -> Kohler
所以我们有一张桌子
manufacturer
还有一个
manufacturer_bundle
存在那些制造商创建的products
所以产品有制造商,制造商链接到制造商捆绑包。
但是:并非所有产品都输入了制造商。它可以是空的。或者制造商未分配给制造商捆绑包。
我想要一个函数
$product->manufacturer_bundle
目前我必须做
$product->manufacturer->manufacturer_bundle
我不会写函数
public function manufacturer_bundle(){
return $this->manufacturer->manufacturer_bundle;
}
因为$this->manufacturer 可能为空并且我什么也不返回,所以我收到一个错误:“Relationship method must return an object of type Illuminate\Database\Eloquent\Relations\Relation”。这样做的正确 laravel 方法是什么?
【问题讨论】:
-
$this->hasOne(Manufacturer::class);hasOnehasManybelongsTo等等返回Illuminate\Database\Eloquent\Relations\Relation告诉你在尝试之前首先建立关系 >相互关联.
标签: laravel laravel-5 eloquent