我正在使用Laravel Nova,并且有一个使用spatie/nova-tags-field的Entry
模型。 (该程序包在后台通过特征使用模型和标签之间的morphToMany
关系)
我在created
事件上附加了模型观察员。
我想像这样在观察器中访问条目的标签:
public function created(Entry $entry)
{
$tags = $entry->tags;
}
但是$tags
始终是一个空数组[]
,但是以后我可以使用Entry :: find($ id)-> tags来访问models标签(不在观察者中,而是在其他任何地方) 。我的猜测是,观察者触发后,将为附加标签创建morphToMany数据透视表条目?
感谢您的输入。
答案 0 :(得分:0)
由于尚未创建模型,请在观察者中尝试使用created
方法,而不要使用creating
答案 1 :(得分:0)
您可以在Entry
中覆盖attachTags
方法,并在$this->wasRecentlyCreated
为true
时触发自定义事件。
您还可以收听your own tag model的created
事件(或其他任何事件)。
与$touches
结合使用,可能会接近您期望的行为。但是显然,您的created
的{{1}}事件将始终在附加任何标签之前触发。