【发布时间】:2018-07-26 19:33:14
【问题描述】:
我对我的问题有疑问,所以让我解释一下..
我有这些模型,它们是 Product 和 ProductVariant ,ProductVariant 与 Product 模型有“belongsTo”关系。产品模型与 Product 模型有“hasMany”关系产品变体
我的问题是……
我确实为产品的变化做了 createMany,就像
Product->variant()->create($variantProducts);
我想在 ProductVariant 模型上创建一些 mutator 来操作一个名为“sku”的列。
我的问题是,如何从 mutator 获取一些列值以从相关模型 ( Product ) 获取数据,在这种情况下,我想从 ProductVariant mutator 获取 Product 的 category_id
我尝试这样做,但它似乎不起作用
public function setSkuAttribut($v){
// product() is belongsTo relation to the product model
$cat = $this->product()->category_id;
dd($cat);
}
但它返回给我这个错误
Undefined property: Illuminate\Database\Eloquent\Relations\BelongsTo::$category_id
任何帮助将不胜感激..谢谢:)
【问题讨论】:
-
去掉括号后还会报错吗?
$cat = $this->product->category_id -
还是报错,现在报错是 Trying to get property of non-object
-
这可能很愚蠢,但您确定
$this有附加产品吗?如果你dd($this->product)你得到一个对象吗?