У меня есть система, в которой пользователь подключен к множеству разных таблиц. Эти таблицы также связаны с разными таблицами.Когда я удаляю пользователя из моей базы данных, все отношения, связанные с этим пользователем, также должны быть удалены.Настройка отношений моего проекта выглядит следующим образом
- A User user has multiple orders.
- An Order has multiple order items.
- Order Items belong to an order.
- A webshop belongs to a user and a webshop has One Main Setting.
- Main settings belongs to a webshop and has One address.
- Address belongs to main setting
Когда пользователь с идентификатором 1 удаляется.Все заказы, где user_id равен 1, также должны быть удалены, проблем нет.Но у заказа с user_id 1 также есть Много order_items.Например, этот конкретный заказ имеет идентификатор 3. Все элементы order_id с идентификатором order_id также должны быть удалены.И вот тут я столкнулся с этим вопросом.
Моя попытка
Пользователь удаляется при этом
$user = User::find($id);
$user->delete();
Отношение удаляется при этом:
$user->orders()->delete();
Но как мне удалить элементы заказа, связанные со всеми заказами, которые были удалены?Моя попытка была:
$user->orders()->orderitems()->delete();
Но, к сожалению, это не работает.Все отношения в моделях работают отлично.Таким образом, все свойства, которые можно использовать:
User
- Orders();
- Webshops();
Order
- Orderitems();
Webshop
- Mainsetting();
Mainsetting
- Address();
Как я могу выполнить вышеуказанное?