【发布时间】:2020-06-29 10:06:25
【问题描述】:
我有表格“events”、“eventables”和“items”。
我创建了一个多态关系,以便能够将事件添加到我的所有模型中。它工作正常。但是我有删除的问题。
当我在“item”中创建一个元素时,我也创建了一个“Event”。
$item = new Item();
$item->name = $request->name();
$item->save();
$event = Event::create(['name' => $request->name]);
$item->attachEvents($event);
我希望我可以从我的销毁方法中删除这个“事件”。我能做的就是分离关系。
public function destroy($id) {
$item = HealthItem::findOrFail($id);
$item->detachEvents(); // Function from custom trait, simply $this->events()->detach($events)
$item->delete();
}
我想删除链接的“事件”。我该怎么办?
【问题讨论】:
-
这里存在设计问题,如果请求中没有该信息,如何知道要删除哪个事件?
-
通过多态关系,我有一个带有
event_id、eventable_type和eventable_id的表“事件表”。这些是 Laravel 的多态关系。 -
是的,我知道什么是多态关系,但是对于我在你的问题中看到的,你想删除一个事件吗?
-
是的,当我删除一个项目时
-
那我该怎么做呢?我将看到几个将连接到事件的模型
标签: php laravel eloquent polymorphic-associations