-1

私は2つのnetitiesuser&serviceとdoctrineによって生成された結合テーブルuser_serviceを持っています、私はここに多対多の関係を追加しようとしました:私が追加した注釈です:

エンティティユーザー側:

/**
* @ORM\ManyToMany(targetEntity="Service", inversedBy="users")
* @ORM\JoinTable(name="user_service",
*   joinColumns={@ORM\JoinColumn(name="user_id", referencedColumnName="id")},
*   inverseJoinColumns={@ORM\JoinColumn(name="service_id", referencedColumnName="id")}
* )
*/

protected $services;

エンティティサービス側:

/**
 * @ORM\ManyToMany(targetEntity="User", mappedBy="services")
 */
protected  $users;

すべてが正常に機能しているようですが、このリクエストを行うと:

    $query = $em->createQuery(
        'SELECT u
         FROM ApplicationFrontBundle:User u
              JOIN u.service s
             WHERE u.id = :id 
         '
    )->setParameters(array('id'=> $id));

    $services = $query->getArrayResult();

このエラーがあります:

[Semantical Error] line 0, col 91 near 's
': Error: Class Application\FrontBundle\Entity\User has no association named service

しかし、私がそれが機能するオブジェクトによってそれを行うとき、問題はそれが多くの要求を実行することです

4

1 に答える 1

0

あなたがそれをserviceSSSと名付けたからですか?

$query = $em->createQuery(
    'SELECT u
     FROM ApplicationFrontBundle:User u
          JOIN u.services s
         WHERE u.id = :id 
     '
)->setParameters(array('id'=> $id));

$services = $query->getArrayResult();
于 2012-08-05T12:00:10.080 に答える