我正在使用雄辩的查询
$apv = $node->products()->with('brand','skus.defaultImage')->get();
获取所有产品及其变体和其他相关模型。这是我得到的集合:
在外部数组中像supplier_id
这样的地方
和option_id
数组中的outerarray>skus>values
,我需要从(例如'sipplier_name
')表列中获取相应的值,而不仅仅是外键。
答案 0 :(得分:0)
您可以使用追加
class Product extends Model
{
....
....
protected $appends = ['supplier_name'];
public function supplier()
{
return $this->belongsTo(Supplier::class);
}
public function getSupplierNameAttribute()
{
return $this->supplier()->supplier_name;
}
}
//示例使用
$product = Product::first();
$product->supplier_name;
答案 1 :(得分:0)
class Product extends Model
{
....
....
public class supplier()
{
return $this->belongsTo('App\Supplier','supplier_id');
}
}
现在与供应商取得产品
$product = Product::where('id',$product_id)->with('supplier')->first();
echo $supplier_name= $product->supplier['supplier_name'];
答案 2 :(得分:0)
谢谢大家。我在Model中添加了join语句
class Variant extends Model
{
protected $guarded = ['id'];
public function optval()
{
$intance = $this->hasMany(OptionValue::class);
$intance->join('options', 'option_value.option_id', '=', 'options.id')
->get(['option_label','value']);
return $intance;
}
}