Моя сущность (Продукт) имеет однонаправленное отношение многого к другому объекту (компании) под названием 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
Показать структуру таблиц (имена таблиц и имена полей идентификатора). – axiac
Только НЕ УДАЛЕННЫЕ продукты Компании. –