Метод Doctrine findOneBy не работает

Я создаю небольшое приложение всего с двумя объектами: «Заказ» и «Отгрузка».

Сущность Отгрузки выглядит следующим образом:(методы удалены, чтобы сделать его коротким)

/**
 * @var integer $id
 *
 * @ORM\Column(name="id", type="integer")
 * @ORM\Id
 * @ORM\GeneratedValue(strategy="AUTO")
 */
private $id;

/**
 * @var string $username
 *
 * @ORM\Column(name="username", type="string", length=255)
 */
private $username;

/**
 * @var string $password
 *
 * @ORM\Column(name="password", type="string", length=255)
 */
private $password;

/**
 * @var integer $order_id
 *
 * @ORM\Column(name="order_id", type="integer")
 */
private $order_id;

/**
 * @var smallint $payment_type
 *
 * @ORM\Column(name="payment_type", type="smallint")
 */
private $payment_type;

В моем контроллере я пытаюсь выполнить запрос с помощью order_id, но мой метод findOneByOrderIdне работает.

$orderExists = $this->getDoctrine()
                ->getRepository('ShipBundle:Shipment')
                ->findOneByOrderId($orderId);

var_dump($orderExists);     die();

Я получаю ошибку:

Entity 'ShipBundle\Entity\Shipment' has no field 'orderId'. You can therefore not call 'findOneByOrderId' on the entities' repository.

Если я не ошибаюсь, методы Doctrine findсоединяют переменные символами подчеркивания и пишут их с большой буквы. Что я делаю не так?

7
задан halfer 13 August 2012 в 11:26
поделиться