У меня есть два класса: Product и Tempproduct . Оба наследуя от BaseProduct < /code>.
BaseProduct не имеет определенного имени таблицы, но продукт и Tempproduct Do. < /P>
У меня также есть модель заказа, которая имеет следующее соотношение: < /p>
Код: Выделить всё
public function products()
{
return $this->morphTo('products', 'product_type', 'product_id');
}
< /code>
Столбец product_type - это перечисление со значениями «Продукт» или «Product_temp», чтобы указать, какую таблицу продукт поступает.public function shop_order()
{
return $this->hasMany(Order::class, 'order_id', 'id')->withTrashed();
}
< /code>
Ранее, прежде чем добавлять Tempproduct, я использовал следующее отношение HasmanyThrough: < /p>
public function products_sell()
{
return $this->hasManyThrough(Product::class, Order::class, 'order_id', 'id', 'id', 'product_id');
}
Подробнее здесь: https://stackoverflow.com/questions/797 ... ny-through
Мобильная версия