Я столкнулся с некоторой проблемой, которую не могу решить с помощью Eloquent Laravel.
У меня есть два или более (6 - точно) объектов:
- ObjectA
- ObjectB
- ObjectC
Каждый из этих объектов имеет один собственный вариант, но структура вариантов одинакова для каждого объекта, поэтому может быть общей. Variant имеет поданный вариант_типа, который указывает, к какому типу объекта принадлежит. Как основать отношения на этом поле?
class Variant extends Model
{
protected $fillable = ['variant_id','name','variant_type','variant_img'];
public function ObjectsA()
{
return $this->belongsToMany(ObjectA::class);
}
public function ObjectsB()
{
return $this->belongsToMany(ObjectB::class);
}
.
.
.
}
В моделях объектов у меня есть отношение hasOne для Variant :: class. Я думал о создании сводных таблиц для каждого примера Object: objectA_variant, objectB_variant и т. Д., Но это не главное, потому что Object имеет один вариант.
Кроме того, я думал о создании пустых столбцов для внешних ключей (6 столбцов), но я не уверен, что это хороший способ?
Пожалуйста, совет и спасибо заранее.