在我的数据库中,我有一个继承情况。
有一个名为产品的表,其中包含所有类别(例如衣服,鞋类和面料包)中的通用属性,每种产品应仅为上述类别之一。
我已经使用方法$table->morphs('taggable');
创建了适当的列。
并实现了雄辩的多态关系,如下所示:
class Product extends Model
{
public function taggable()
{
return $this->morphTo();
}
}
class Footwear extends Model
{
public function product()
{
return $this->morphMany('Product', 'taggable');
}
}
在其他两个类别中也是如此。
但是当我使用修补匠来验证这种关系时,它似乎从一侧开始工作!
>>> 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
应该返回适当的产品,但返回null。
>>> 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
那么,这个问题有什么解决办法吗?
答案 0 :(得分:0)
taggable_type 值应与此App\Model\{subclass}
相似。