Для получения полного доступа
зарегистрируйтесь.
RSS

Все сниппеты с тэгом «doctrine»



dfatt
  • Репутация: 260
  • Сниппеты: 53
  • Ревизии: 7

Если вы используете репозитории, то выбрать записи с некоторыми ID можно через метод findBy

$em = $this->get('doctrine')->getManager('default');

$statusIds = [120, 130, 230, 240];
$shippings = $em->getRepository('AppBundle:Item')->findBy(['status'=> $statusIds]);
dfatt
  • Репутация: 260
  • Сниппеты: 53
  • Ревизии: 7

Бывают ситуации когда нет смысла использовать серверы очередей, типа Rabbitmq, German, etc. Была задача - отправка писем пользователям, проверка на поступление оплаты.

Для этого было решено написать простой класс, который считывает сообщения из таблицы, удаляет сообщения, добавлят задачу в таблицу.

На тот момент я решил задачу с помощью Doctrine 2 + CI 2. Надеюсь, что общий принцип будет понятен, и это решение вы сможете подстроить под себя.

Продолжение »

dfatt
  • Репутация: 260
  • Сниппеты: 53
  • Ревизии: 7

Была задача, чтобы у всех сущностей не писать общие поля типа, id, created_at, etc. Такой подход даёт возможность расширять сущности в нужном вам направлении.

namespace Entity;

/**
 * @BaseEntity
 * @HasLifecycleCallbacks
 * @MappedSuperclass
 */
class BaseEntity
{
    /**
     * @Id
     * @Column(type="integer", nullable=false)
     * @GeneratedValue(strategy="AUTO")
     */
    protected $id;
    /**
     * @Column(type="datetime")
     */
    protected $created_at;
}