Делал выборку данных
$qb = $this->createQueryBuilder('sa');
$result = $qb->select('sa.kpi, r')
->where('sa.year =:year')
->andWhere('sa.week =:week')
->andWhere('sa.branch IS NULL')
->leftJoin('AppBundle:Region', 'r', 'WITH','r.id = sa.region')
->setParameters(array(
'year' => $year,
'week' => $week,
))
->getQuery()
->getResult(Query::HYDRATE_ARRAY);
для leftjoin сделал связь многие-к-одному
manyToOne:
region:
targetEntity: AppBundle\Entity\Region
joinColumn:
name: region
referencedColumnName: id
выборка работает, сейчас пришлось записать данные в таблицу
$sa = new SA();
$sa->setDate(new \DateTime("now"));
$sa->setYear($this->year);
$sa->setWeek($this->week);
$sa->setRegion($region_value['id']);
$sa->setBranch($branch_value['id']);
$sa->setCity($city_value['id']);
$sa->setKpi($kpi);
$em->persist($sa);
$em->flush();
и теперь ругается на строку $sa->setRegion($region_value['id']);
Expected value of type "AppBundle\Entity\Region" for association field "SABundle\Entity\SA#$region", got "string" instead.
Я так понимаю, что вместо значения id нужно в setRegion передать объект AppBundle\Entity\Region, но что-то не понимаю как.
Сам и отвечу
$r = $repoRegion->find($region_value['id']);
$sa->setRegion($r);
$b = $repoBranch->find($branch_value['id']);
$sa->setBranch($b);
$c = $repoCity->find($city_value['id']);
$sa->setCity($c);
Кофе для программистов: как напиток влияет на продуктивность кодеров?
Рекламные вывески: как привлечь внимание и увеличить продажи
Стратегії та тренди в SMM - Технології, що формують майбутнє сьогодні
Выделенный сервер, что это, для чего нужен и какие характеристики важны?
Современные решения для бизнеса: как облачные и виртуальные технологии меняют рынок
Почему при смене языка не меняется название Фрагмента?
Стоит задача написать PL/SQL процедуру, которая будет создавать пустую папку по указанному путиЯ знаю что для этого можно использовать класс...
Я новичок в Java, да и в программировании вообщеНачал её изучать, сейчас разбираюсь с GUI, пишу простенький калькулятор, но почему то в GUI билдере...