У меня есть 2 сущности, которые доставляют мне проблемы с извлечением их коллекций и получением правильных критериев из коллекции другой.
Во-первых, объект ScheduleObject, расширяющий еще один
/**
* @ORM\Entity(repositoryClass="App\Repository\ListMarketRepository")
*/
class MarketSchedule extends ListMarket implements ...
{
/**
* @ORM\OneToMany(targetEntity="App\Entity\Link\ScheduleLink", mappedBy="market")
*/
private $scheduleLinks;
.....OTHER FIELDS
}
AND
/**
* @ORM\Entity(repositoryClass="App\Repository\ScheduleLinkRepository")
* @ORM\HasLifecycleCallbacks()
*/
class ScheduleLink
{
use TimestampEntity;
/**
* @ORM\Id()
* @ORM\GeneratedValue()
* @ORM\Column(type="integer")
* @Groups({"model", "event"})
*/
private $id;
/**
* @ORM\ManyToOne(targetEntity="App\Entity\Market\MarketSchedule", inversedBy="scheduleLinks")
* @ORM\JoinColumn(nullable=false, referencedColumnName="id", name="listMarketId")
*/
private $market;
/**
* @ORM\Column(type="date", nullable=true)
*/
private $staticDate;
/**
* @ORM\Column(type="smallint", nullable=true)
*/
private $dayOfWeek;
OTHER FIELDS....
}
Я так много пытался и без использования ScheduleLinkRepository , чтобы получить результат ScheduleLinks в ассоциации, НИЧЕГО НЕ РАБОТАЕТ ЗА РЕПО !! !!,Это прекрасно работает, пока я не попытаюсь выполнить Criteria :: expr () для сортировки коллекции;
$criteria = Criteria::create()
->where(Criteria::expr()->isNull('staticDate'));
$new = $schedules->matching($criteria);
Вышеупомянутое выражение обычно верно примерно в 99% всех запросов, хотя я еще не получилмассив из $ расписаний или $ new переменных с правильными результатами.
Мне нужно 1. Использовать отношения вместо репозитория в контроллере и получить коллекциюкак это происходит в Twig 2. (ИЛИ более важно) Получить критерии для работы в этом случае.Я еще не использовал критерии для коллекции, и она работает.Это действительно не весело и кажется простым на практике, но терпит неудачу очень долго.