Так вот, у меня созданы классы, для работы со зданиями отдельно и для работы с площадками, отдельно, и разные интерфейсы для этих сущностей.
В классе зданий есть метод для удаления здания по его id, вот такой
// удаление здания по id
public function deleteBuildingById($intId){
$objDB = Service_Database::instance();
//удаление площадок из здания
$arrAreaIds = $objDB->selectSimpleArray('SELECT `id_area` FROM `area` WHERE `id_building` ='.$intId);
if (!empty($arrAreaIds))
{
$objArea = new Area();
// наверняка можно придумать способ удаления без цикла
foreach ($arrAreaIds as $intAreaId)
{
$objArea->deleteAreaById($intAreaId);
};
};
$objDB->query('DELETE FROM building WHERE building.`id_building`='.$intId);
}
И чувствую своим програмерским сердцем, запускать запросы к БД в цикле - последнее дело. Но фишка в том, что у площадок есть фотографии.. Которые как раз и подчищает deleteAreaById($intAreaId); А за одно и из MySQL запись удаляет. Вот и приходится для каждой площадки так напрягаться.
Может существует способ делать это иначе, без запросов к базе в цикле?