Typed property must not be accessed before initialization (Ublaboo datagrid, Nettrine)
- Sami_
- Člen | 15
Ahoj,
stáhnul jsem si přes composer Ublaboo Datagrid (6.8.1) a vypisuju v něm
entity Obchod, která má manyToOne k entitě Měna. Když chci vypsat
k obchodu jeho Měnu, dostanu chybu Typed property
App\Model\Database\Entity\Currency::$name must not be accessed before
initialization. Co mi přijde zajímavé je, že atribut
id
vypsat jde. Stejně tak když chci vytáhnout ještě jinout
entitu ze toho Obchodu. Musím nějak nakonfigurovat, aby se dotahoval celý
objekt a ne jen id
?
Kód vytváření komponenty:
protected function createComponentTradesGrid(string $name)
{
$g = new DataGrid();
$g->setDataSource($this->em->getTradeRepository()->createQueryBuilder('u'));
$g->addColumnText('currency', 'Měna')->setRenderer(function (Trade $t) {
return $t->getCurrency()->getName();
});
return $g;
}
Kód entity Currency:
/**
* Class Currency
* @package App\Model\Database\Entity
* @ORM\Table
* @ORM\Entity (repositoryClass="App\Model\Database\Repository\CurrencyRepository")
*/
class Currency
{
/**
* @var string
* @ORM\Id
* @ORM\Column(type="string", length=3)
*/
private string $id;
/**
* @var string
* @ORM\Column(type="string", length=64)
*/
private string $name;
}
/* + gettery a settery... */
Dělám něco zle?
Předem dík za případné nakopnutí
Projekt vychází z nettrine/playground
PhP: 7.4.9
EDIT: Nesouvisí s Ublaboo Datagridem. Po smazání temp/cache a temp/proxies se ty atributy dotáhnou. Nicméně asi je zamýšleno, aby toto běželo automaticky. Napadá mě buď config nebo nedostatečná práva, aby to promazal. Stále velice vítám rady a připomínky :)
Editoval Sami_ (6. 3. 2021 19:56)