Духовность™
Продвинутый новичок
как правильно создать метод меппера?...
Тем, кто наблюдал мою тему про ленивую загрузку, будет понятна суть. Есть Vote_Mapper для манипулирования с объектом "голосование". Есть Vote_Questions_Mapper для манипулирования объектами "варианты вопросов к текущему голосованию".
Мне нужно написать метод меппера "голосование" для удаления голосования.
Можно сделать метод таким образом:
вызывать его так:
и удалить строку из таблиц "голосование". А варианты ответов из другой таблицы, удалить уже "руками":
а можно в Vote_Mapper->delete() удяять не только строку из таблицы vote, но и все строки из таблицы questions, запихнув весь этот код непосредственно в метод Vote_Mapper->delete().
Как более грамотно поступить?
Тем, кто наблюдал мою тему про ленивую загрузку, будет понятна суть. Есть Vote_Mapper для манипулирования с объектом "голосование". Есть Vote_Questions_Mapper для манипулирования объектами "варианты вопросов к текущему голосованию".
Мне нужно написать метод меппера "голосование" для удаления голосования.
Можно сделать метод таким образом:
PHP:
class Vote_Mapper()
{
public function delete($object)
{
// Удаляем только строку таблицы vote
parent::deleteRow($object->id);
}
}
PHP:
$vote_mapper->delete($vote);
PHP:
$questions_mapper = new Vote_Questions_Mapper();
$vote_mapper->loadAnswer($vote); // получаем вопросы к объекту голосования $vote
$vote_mapper->delete($vote); // удаляем сам $vote
// проходимся по массиву $vote->questions объекта
// $vote и поочередно удаляем из таблицы варианты ответа
foreach ($vote->questions as $questions)
{
$questions_mapper->delete($questions);
}
Как более грамотно поступить?