-
Notifications
You must be signed in to change notification settings - Fork 52
Ru:DAO
Каждому бизнес объекту, который реализует паттерн StraightMapping или Dictionary соответсвует DAO - data access object, позволяющий производить различные операции над бизнес объектом по отношению к базе данных.
Тут картинка с наследованием BusinessObjectDAO <- ... <- StorableDAO <- ... <- GenericDAO
Layer, который реализует операции по сохранению и добавлению бизнес объектов в базу данных.
Добавление объекта в БД
<?php
$myObject =
MyObject::create()->
setName('John')->
setSurname('Doe');
MyObject::dao()->add($myObject);
echo $myObject->getId();
?>
метод add() используется только для создания новых объектов, если в логике вашего приложения требуется добавить или обновить объект, нужно воспользоваться операцией take().
Обновление объекта в БД
<?php
$myExistingObject->setPhoneNumber('123456789');
MyExistingObject::dao()->save($myExistingObject);
?>
будьте осторожны, операция save() может перезаписать ваши данные, если параллельная сессия приложения сделала эту операцию раньше над тем же объектом