Я работаю с существующей базой данных с полями, которые не очень хорошо связаны. Я смог получить другие отношения ManyToOne и наоборот, которые работают (в тех случаях, когда я создал базу данных во время работы над проектом), но эта уже существующая база данных бросает меня на цикл.ManyToOne/OneToMany с пользовательским столбцом объединения
У меня есть таблица под названием franchisee_creds
, ManyToOne, с полем franchisee_id
, который необходимо отобразить в другую таблицу под названием accounts
, OneToMany, с полем называется franchisee_number
, строка.
FranchiseeCreds.php
:
/**
* @ORM\ManyToOne(
* targetEntity="Inertia\InertiaBundle\Entity\Accounts",
* inversedBy="franchiseeCreds",
* fetch="EAGER"
*)
* @ORM\JoinColumn(name="franchisee_id", referencedColumnName="franchisee_number")
*/
private $accounts;
public function __construct()
{
$this->accounts = new ArrayCollection();
}
...
/**
* @return ArrayCollection
*/
public function getAccounts()
{
return $this->accounts;
}
Accounts.php
/**
* @ORM\OneToMany(targetEntity="Inertia\InertiaBundle\Entity\FranchiseeCreds", mappedBy="accounts")
*/
private $franchiseeCreds;
public function __construct()
{
$this->events = new ArrayCollection();
}
...
/**
* @return mixed
*/
public function getFranchiseeCreds()
{
return $this->franchiseeCreds;
}
Контроллер:
public function showAction($id)
{
$em = $this->getDoctrine()->getManager('inertia');
$entity = $em->getRepository('InertiaBundle:Accounts')->find($id);
if (!$entity) {
throw $this->createNotFoundException('Unable to find Accounts entity.');
}
$deleteForm = $this->createDeleteForm($id);
return $this->render('InertiaBundle:Accounts:show.html.twig', array(
'entity' => $entity,
'delete_form' => $deleteForm->createView(),
));
}
Тогда в моих взглядах, если я ставлю {{ dump(entities) }}
, на счетах и FranchiseeCreds show.html.twig
, отношения показывает вверх , но я t всегда null
.
Что вы делаете на контроллере и что вы передаете в Twig view? – Pipe
Я добавил контроллер. Представление twig - только автогенерация, я просто добавил {{dump (entity)}}, чтобы я мог видеть, какие данные мне даны. – chrislebaron
На основе вашего контроллера '{{dump (entities)}}' ничего не делает ... потому что вы не передаете переменную 'entity' на ваш контроллер. – Pipe