コントローラーの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;
}
?>