Итак, как мы помним у нас есть entity User. Состоит она у нас из свойств name и surname. Что же нам необходимо для сохранения полученных данных в нашу таблицу?
- Entity manager
- Необходимо заполнить свойства Entity необходимыми данными.
на этот раз для ускорения процесса, рассмотрим пример сохранения данных в самом контроллере
<?php
use Application/HelloBundle/Entity/User;
...
class SomeController extends Controller{
public function someAction(){
...
//Получаем entity manager
$em = $this['doctrine.orm.entity_manager'];
$user_entity = new User();
//добавляем к нашей entity необходимые данные
$user_entity->setName($name);
$user_entity->setName($surname);
//сохраняем данные
$em->persist($user_entity);
$em->flush();
...
}
}
Как видно из примера ничего сложного нет.Для обновления, удаления записи в таблице необходимо
- Entity manager
- Заполнить свойства Entity необходимыми данными.
- Знать имя entity и бандл к которому она принадлежит
<?php
...
$query = 'UPDATE HelloBundle:User u SET u.name = :name WHERE u.id = :id';
$update_query = $em->createQuery($query)
->setParameter('name', $name)
->setParameter('id', $id);
$update_query->getResult();
Как видно из примера необходимо указать бандл, а через двоиточие entity, так же необходимо создать alias для таблицы.Запрос для удаления выглядит следующим образом
<?php
...
$query = 'DELETE HelloBundle:User u WHERE u.id = :id';
$delete_query = $em->createQuery($query)
->setParameter('id', $id);
$delete_query->getResult();
Happy coding!Болше о DQL можно прочитать на официальном сайте Doctrine2
Комментариев нет:
Отправить комментарий