Удаление связей в доктрине.

beckerman

Новичок
Предположим у меням есть сущность Job, у которй есть аттрибут $team. Team не знает все свои Джобы и выступает самостоятельной единицей. Если удалить Team, в таблице Джоб остается неразрешенный хвост.

PHP:
+------------------+              +------------------------------+
|Team              |              |Job                           |
+------------------+              +------------------------------+
|                  |<------------X|-team : Team                  |
|                  |              |..............                |
|                  |              |+getTeam() : Team             |
|                  |              |+setTeam(Team : $team) : void |
|                  |              |                              |
+------------------+              +------------------------------+
Задача, после удаления сущности, подчистить все её хвосты, на подобии как это делают foreign keys. Есть ли возможность автоматизировать этот процесс, что бы при удалении Team не делать этого вручную.
 

beckerman

Новичок
каскад тут не подходит, так как Теам и Джоб является независимыми единицами и удаление одной из них не подразумевает удаление другой. Задача заключается в следующем: после удаления например Теама, обновить все сущности Джоба таким образом, что бы удаленный Теам сталл NULL. Это, конечно, можно было бы сделать вручную, но хотелось бы автоматики.
 

beckerman

Новичок
Ребята, а объясните, пожалуйста разницу между cascade={remove} и onDelete="CASCADE". Принцип работы обоих понятен, но какое преимущество и в каком случае может иметь первый перед вторым? Ведь по скорости работы, да и по гибкости второй вариант значительно лучше первого. Да и к тому же onDelete="CASCADE" можно заменить на onDelete="SET NULL" и.т.д. , а в первом варианте есть только remove.
 
Сверху