Doctrine2,Symfony2。 Oracle错误:类没有名为user_id的字段或关联

时间:2015-06-28 19:27:48

标签: php oracle symfony doctrine-orm

我尝试从简单查询中返回数据,但是我收到以下错误:

  

未捕获的PHP异常Doctrine \ ORM \ Query \ QueryException:" [语义   错误]第0行,第63行附近' user_id =:u':错误:类   \ Bundle \ MyBundle \ Entity \ User \ Users没有名称的字段或关联   USER_ID" at ... ../ doctrine / orm / lib / Doctrine / ORM / Query / QueryException.php   第49行

实体:

    /**
* Users
*
* @ORM\Table(name="company.users")
* @ORM\Entity
*/
class Users
{
    /**
     * @var integer
     *
     * @ORM\Column(name="user_id", type="integer")
     * @ORM\Id
     * @ORM\GeneratedValue(strategy="AUTO")
     * @ORM\SequenceGenerator(sequenceName="company.user_id_seq")
     */
    private $userId;

控制器中的呼叫:

$query = $em->createQuery(
    'SELECT u
    FROM MyBundle:User\Users u
    WHERE u.user_id = :user_id'
)->setParameter('user_id', 48201);

$users = $query->getResult();

1 个答案:

答案 0 :(得分:1)

使用DQL时,您需要忘记SQL。您应该使用实体中定义的列名不在数据库中 - 使用userId而不是user_id

$query = $em->createQuery(
    'SELECT u
    FROM MyBundle:Users u
    WHERE u.userId = :user_id'
)->setParameter('user_id', 48201);

我也不确定MyBundle:User\Users语法。为什么不使用MyBundle:Users