Laravel附加属性给出内存错误



我正在尝试将产品价格属性附加到产品型号,但是当我打印它时,它最终给出了内存不足错误。 当我dd响应时,它会给我一些查询生成器错误。 谁能帮帮我?

我的数据库和模型如下:

我有三个表productsproduct_priceweight_units。 在[![product_price][1]][1]表中我有product_id , price, weight, weight_unit_id,在weight_units我有unit.

我的product_price模型

public function weightUnit()
{
return $this->belongsTo('AppModelsWeightUnit');
}

我的产品型号

protected $appends = ['product_price'];
public function price(){
return $this->hasMany(ProductPrice::class);
}
public function getProductPriceAttribute(){
return $this->price()->with('weightUnit:id,unit');
}

我的控制器

$data=   Product::take(2)->get();
echo '<pre>';
dd($data->toArray());

当我尝试打印它时,它会给出内存不足错误,当我做 dd 时,我可以看到屏幕截图中的内容。

$this->price()只给你一个查询生成器实例,用$this->price替换它。
然后将->with(替换为->load(

return $this->price->load('weightUnit:id,unit');

急切加载在那里没有多大意义,您应该将其移至price()

return $this->hasMany(ProductPrice::class)->with('weightUnit:id,unit');

相关内容

  • 没有找到相关文章

最新更新