我有一个产品表,其列名为unit_id
,我有大约15个单位的数据。我在产品中存储了一个自定义密钥单元,您可以在屏幕截图中查看。
单位数据存储在设置表中,单行,meta_value以json格式保存所有单位数据
现在的问题是我每次都要为产品运行两个查询,需要帮助才能知道更方便。// For Products
Product::where('id', 1)->first();
// For settings
Settings::where('meta_key', 'product_units')->first();
是否有任何方法可以在产品模型中附加设置数据,这是我们针对多个产品而不是单个产品所遇到的问题。
答案 0 :(得分:0)
您可以尝试在Products模型https://laravel.com/docs/5.1/eloquent-mutators中使用mutator。
public function getProductUnitsAttribute() {
return Settings::where('meta_key', 'product_units')->first();
}
所以你可以这样做来获得设置
$product = Product::where('id', 1)->first();
$product->product_units;
但我认为这不是一个好习惯。