У меня есть модель Entity
, и я создал классы EntityMapper
и Entity
(я только учусь использовать Zend Framework и следую инструкциям). Класс Entity
имеет метод setName
, и я хочу, чтобы он проверял, есть ли в БД другой «объект» с таким же именем, и в этом случае выдавал исключение или что-то в этом роде.
Итак, если я правильно понимаю, вызовы БД должны быть только в классе Mapper. Итак, внутри setName
я должен сделать что-то вроде:
$entity = new Application_Model_EntityMapper();
if ($entity->checkDuplicateName($name, $this->_id))
$this->_name = $name;
else
throw new Exception(...);
return $this;
и поместить код, который фактически выполняет запрос, в новый метод класса Mapper? (запрос, конечно, должен быть другим, если «сущность» новая или у нее уже есть идентификатор, но суть моего вопроса не в этом).
Я знаю, что могу сделать это несколькими способами, но моя цель — максимально приспособиться к соглашениям фреймворка.