У меня есть список продуктов с именем, ценой и переопределением цены от нуля до n. Теперь я хотел бы перечислить все мои продукты и показать цену или - если доступно - последнее добавленное изменение цены.
Я пытался использовать собственный шаблон и показать последнее изменение цены, если доступно, иначе цена самого продукта. Но, к сожалению, я не могу получить доступ к переопределениям цен, потому что коллекция пуста. Когда я сбрасываю переменную объекта внутри шаблона, он говорит, что PersistentCollection не инициализирован.
Двор ветки объекта:
Я что-то пропустил? Есть ли более элегантный и прямой способ?
Буду признателен за некоторую помощь и заранее благодарю вас, Мануэль
Администратор продукта:
Вот как я могу использовать свои индивидуальные настройки шаблон.
$listMapper->add('price', null, ['template' => 'product/base_list_field.price.html.twig']);
Сущность продукта:
<?php
namespace App\Entity;
use Doctrine\Common\Collections\ArrayCollection;
use Doctrine\Common\Collections\Collection;
use Doctrine\ORM\Mapping as ORM;
/**
* @ORM\Entity(repositoryClass="App\Repository\ProductRepository")
*/
class Product
{
/**
* @ORM\Id()
* @ORM\GeneratedValue()
* @ORM\Column(type="integer")
*/
private $id;
/**
* @ORM\Column(type="string", length=255)
*/
private $name;
/**
* @ORM\OneToMany(targetEntity="App\Entity\PriceOverride", mappedBy="product", orphanRemoval=true)
*/
private $priceOverrides;
/**
* @ORM\Column(type="decimal", precision=10, scale=2)
*/
private $price;
...
Сущность PriceOverride:
<?php
namespace App\Entity;
use Doctrine\Common\Collections\ArrayCollection;
use Doctrine\Common\Collections\Collection;
use Doctrine\ORM\Mapping as ORM;
/**
* @ORM\Entity(repositoryClass="App\Repository\PriceOverrideRepository")
*/
class PriceOverride
{
/**
* @ORM\Id()
* @ORM\GeneratedValue()
* @ORM\Column(type="integer")
*/
private $id;
/**
* @ORM\Column(type="decimal", precision=10, scale=2)
*/
private $newPrice;
...