La Doctrine findOneBy méthode ne fonctionne pas

Je suis la création de petites applications avec seulement deux entités, de Commande et d'Expédition.

L'Envoi d'une entité est comme suit: (méthodes supprimé le garder court)

/**
 * @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;

Dans mon contrôleur, je suis en train de requête à l'aide de la order_id mais mon findOneByOrderId méthode ne fonctionne pas.

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

var_dump($orderExists);     die();

L'erreur que j'obtiens est:

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

Si je ne me trompe pas, la Doctrine find méthodes de rejoindre les variables à des traits de soulignement et de tirer profit d'eux. Ce que je fais mal?

Ne pourrait-il pas être findOneById() alors?
Avez-vous un getter pour order_id? Puisque c'est une propriété privée si vous n'avez pas un getOrderId() la méthode, vous ne serez pas en mesure d'y accéder
Merci pour la réponse. J'ai tous les getter setter. Je n'ai pas posté de garder la question à court. J'ai mentionné que, dans la question.
Non, je ne pense pas ainsi. findOneById serait pour l'interrogation par id pas order_id.
essayez ->findOneBy('n ° '=> $n ° de commande);

OriginalL'auteur Aayush | 2012-08-13