У меня есть модель, 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? (запрос должен, разумеется, отличаться, если «сущность» является новой или уже имеет идентификатор, но это не вопрос моего вопроса).
Я знаю, что мог бы сделать это несколькими способами, но моя цель - максимально адаптироваться к соглашениям рамки.
только немного информации, чтобы добавить: структура модель/Mapper/ActiveRecord - это то же самое, что и в учебнике «quickstart» для ZendFramework. –
это очень полезно, именно то, что я искал, спасибо !!! – cambraca
рад помочь :) –