我的實體(產品)與另一個實體(公司)具有單向多關係deletedByCompanies。假設相關實體不存在選擇實體
我希望選擇所有未被特定公司刪除的產品。這就是所有沒有通過那麼多關係連接起來的產品。
嘗試:
$this->em->getRepository(Product::class)->createQueryBuilder('t')
->leftJoin('t.deletedByCompanies', 'deletedCompany')
->andWhere('deletedCompany.id not in (:companyId)')
->setParameter('companyId', [$companyId]);
但這根本不返回任何東西。 架構是相當straghtforward:
Product:
id: int PK
Company:
id: int PK
DeletedProducts
product_id: int FK
company_id: int FK
實體定義產品類:
/**
* @var Company[]
* @ORM\ManyToMany(targetEntity="Company", indexBy="id")
* @ORM\JoinTable(name="DeletedProducts")
*/
protected $deletedByCompanies;
*「我希望選擇所有未被特定公司刪除的產品。」*。您的意思是隻有那些未被該公司刪除的**刪除**產品?或者所有的產品,包括那些根本沒有被刪除的產品? – axiac 2015-02-12 16:18:50
顯示錶格結構(表格名稱和ID字段名稱)。 – axiac 2015-02-12 16:19:47
只有公司的NOT DELETED產品。 – 2015-02-12 17:11:23