2

doctrine 2を使用してzendフレームワーク2で結果に返すフィールドをどのように指定しますか? これが私のクエリです:

$allLanguages = $this->getEntityManager()
                    ->getRepository('Language')
                    ->findAll();

言語テーブルの結果に「名前」フィールドが必要です。

4

2 に答える 2

2

私は通常、このような DQL を使用してクエリをカスタマイズします。

    $u = $_GET['u'];
    $query = $this->getEntityManager()->createQuery("SELECT u.username FROM Auth\Entity\User u WHERE u.username LIKE :username AND u.companyID = :companyID ");
    $query->setParameter('username', '%'.$u.'%')
            ->setParameter('companyID', $companyID);

    $users = $query->getResult();

上記の場合。みたいなこともあります。

$query = $this->getEntityManager()->createQuery("SELECT l.name FROM Langauge l");

$langaugeNames = $query->getResult();

Doctrine クエリ言語 DQL

クエリビルダー

于 2013-02-11T08:54:11.240 に答える
1

DQL を直接使用します。

$languages = $entityManager->createQuery("SELECT l.name FROM Language l")->getResult();

http://docs.doctrine-project.org/projects/doctrine-orm/en/latest/reference/dql-doctrine-query-language.html#pure-and-mixed-results

于 2013-02-11T10:33:42.240 に答える