继承的多态关系

Polymorphic Relations for inheritance

在我的数据库中,我有一个继承情况。
有一个名为 Products 的 table 包含所有类别的共同属性,例如 SuitsFootwears 织物包 ,每个产品应该只是上述类别之一。
我使用 $table->morphs('taggable'); 方法来创建适当的列。
并实现了 eloquent 的多态关系,如下所示:

    class Product extends Model
{
    public function taggable()
     {
         return $this->morphTo();
     }

}


class Footwear extends Model
{
    public function product()
    {
        return $this->morphMany('Product', 'taggable');
    }
}


其他两个 类 同样的事情。 但是当我使用 tinker 来验证关系时,它似乎从一方面起作用!

>>> App\Model\Product::find(65)->taggable
[!] Aliasing 'FabricPack' to 'App\Model\FabricPack' for this Tinker session.
=> App\Model\FabricPack {#2928
     id: 5,
     length: 0.7,
     created_at: "2018-07-30 12:19:51",
     updated_at: "2018-07-30 12:19:51",
   }


我认为 App\Model\FabricPack::find(5)->tag 应该 return 合适的产品,但 return 是空的。

>>> App\Model\FabricPack::find(5)
=> App\Model\FabricPack {#2929
     id: 5,
     length: 0.7,
     created_at: "2018-07-30 12:19:51",
     updated_at: "2018-07-30 12:19:51",
   }
>>> App\Model\FabricPack::find(5)->tag
=> null


那么,这个问题有什么解决办法吗?

taggable_type 值应该像这样 App\Model\{subclass}.