を期待何をしていない、クエリが通過してくれ例えば、一致するエンティティの数を与える:オルタナティブ() - 私はEntityRepository.phpファイルにクエリを作っ
100
私の新しい目標がありますプロパティfeedback.appointmentState.uid = 4
を持つすべてのエンティティを除外します。
と、私はこの次の制約に置くとき:
$query->equals('feedback.appointmentState.uid', 4)
それは私
0
を与える今、私は理解していない部分くる - を私はその部分を変更する場合:
は$query->logicalNot($query->equals('feedback.appointmentState.uid', 4))
私は、
90
このフィルタは、フィルタに一致するエンティティがないため、100を出力する必要があるため、この方法ではうまくいきませんが、これをどのようにして実現できますか?明確にするため ここに私のコード例(もちろん、私は同時に両方のコメントの部分のコメントを外していなかった)
public function countByCompany($company) {
$query = $this->createQuery();
$constraints[] = $query->equals('deleted', 0);
$constraints[] = $query->equals('hidden', 0);
$constraints[] = $query->equals('socialworker.company', $company);
$total = $query->matching($query->logicalAnd($constraints))->count();
// $total is 30
// $constraints[] = $query->equals('feedback.appointmentState.uid', 4);
// $totalCancelled = $query->matching($query->logicalAnd($constraints))->count();
// $totalCancelled is 0
// $constraints[] = $query->logicalNot($query->equals('feedback.appointmentState.uid', 4));
// $totalWithoutCancelled = $query->matching($query->logicalAnd($constraints))->count();
// $totalWithoutCancelled is 15
return false;
}
私は本能を信じて、90は正しい結果であり、何か他のことを期待する必要があると考えなければなりません。 –