0

コントローラーの1つにある関数に次のコードがあります。

$qb = $this->doctrine->em->createQueryBuilder();
$query = $qb->select('username, password, level')
    ->from('User', 'u');
        // ->where('user.username = :username')
        // ->setParameter('username', 'userTest');
$users = $query->getResult();

これにより、何かがサイレントに失敗します。エラーメッセージはありません。このページから取得できるのは、500サーバーエラーだけです。行をコメントアウトすると$users = $query->getResult()、ページが正常に読み込まれるため、クエリビルダーがここで機能していないようです。でも理由はわかりません。どういうわけかDoctrine.phpライブラリファイルにロードする必要がありますか?私はそうは思わない。

私が発見したもう1つの奇妙なことは、getRepositoryメソッドを介してエントリを取得しようとすると、何らかの理由でそのメソッド自体がDQLステートメントを出力するように、DQLステートメントをページの出力に出力することです。私はそれの結果を取り、それを印刷しません。

ここで何が起こっているのか分かりますか?私のUserクラスはとてもシンプルです。残念ながら、エラーが報告されていないため、何が問題なのかわかりません。D:

<?php
namespace Entities;

use Doctrine\ORM\Mapping as ORM;

/**
 * @ORM\Entity
 */
class User {
    /**
     * @ORM\Id
     * @ORM\Column(type="integer")
     * @ORM\GeneratedValue
     */
    private $id;

    /**
     * @ORM\Column(type="string")
     */
    private $username;

    /**
     * @ORM\Column(type="string")
     */
    private $password;

    /**
     * @ORM\Column(type="integer")
     */
    private $level;

    /**
     * @ORM\OneToMany(targetEntity="EmailAddress", mappedBy="user")
     */
    private $emails;
}

?>
4

1 に答える 1