dqlクエリで問題が発生しました。見つけるためにDQL - 親の国に基づくフィルタエンティティ
、私が持つ1つのリレーションに多くを持っているorganes、その後organesと多くの関係に多くを持っている 詳細、詳細と多くの関係に多くを持っている の規準、の規準と多くの関係に多くとのプロトコルを持っていますアトリエは国との関係が多岐にわたります。
配列に含まれている国やラトを持っていないプロトコルを回復する必要があります。私の問題は、親がnullであり、そうでない場合、エンティティは検証されます。私はSQLで多くの拠点を持っていないので、私は何かを忘れていた可能性があります。お返事を事前に
$queryBuilder->select('p')
->from($this->getClass(), 'p')
->leftJoin('p.criteres', 'c')
->leftJoin('c.details', 'd')
->leftJoin('d.organes', 'o')
->leftJoin('o.atelier', 'a')
->where('a.country IN (' . $this->getUserCountriesFormated() . ') OR a.country IS NULL')
->orderby('p.name', 'ASC');
ありがとう:
は、これは私のDQLクエリです。
編集:理由はヌル詳細(ITAが私のcountriesformated配列されていない国)のプルアッププロトコルの例:
- >参加する唯一の国検証済みのプロトコルを返しますが、私も両親のない新鮮作成したプロトコルを必要としています。クエリを逆にすると、これらのプロトコルも取得できません。 – Kupris