ublaboo grid Nette\MemberAccessException
- vitepin
- Člen | 2
Dobrý den,
potýkám se s opravdu zvláštní chybou:
sloupec request v tabulce existuje, pokud smažu cache vše funguje, pak se
ovšem přihlásí jiný uživatel a objeví se mu stejná chyba, pokud zase
promažu cache, tak vše funguje, ale jen jemu. Pokud se přihlásím já, chyba
se objeví znova.
Fakt netuším, kde hledat problém.
Děkuji za pomoc
Edit: ještě bych mohl přidat kód:
public function createComponentUserGrid($name)
{
$user = $this->getUser()->getIdentity();
if ($user) {
$username =$user->username;
} else {
$username = "null";
}
$grid = new DataGrid($this, $name);
$grid->setDataSource($this->database->table('headers')->where('notify',$username));
$grid->addColumnLink('request', 'Požadavek')->setSortable();
$grid->addColumnDateTime('reqdate', 'Datum vytvoření')->setSortable();
$grid->addColumnText('type', 'Typ');
$grid->addColumnText('supplier.name', 'Dodavatel',)->setSortable();
$grid->addColumnStatus('mgrapprove', 'Schváleno Managerem')->setSortable()->addOption(true, 'Schváleno')
->endOption()
->addOption(false, 'Zamítnuto')
->setIcon('close')
->setClass('btn-danger')
->endOption();
$grid->addColumnStatus('dirapprove', 'Schváleno ředitelem')->setSortable()->addOption(true, 'Schváleno')
->endOption()
->addOption(false, 'Zamítnuto')
->setIcon('close')
->setClass('btn-danger')
->endOption();
$grid->addColumnStatus('accapprove', 'Schváleno účetní')->setSortable()->addOption(true, 'Schváleno')
->endOption()
->addOption(false, 'Zamítnuto')
->setClass('btn-danger')
->setIcon('close')
->endOption();;
$grid->addColumnText('approver', 'Aktuální schvalovatel');
}
A celá aplikace obsahuje několik gridů, ale zlobí jen tento.
Děkuji
Editoval vitepin (10. 11. 2021 13:45)
- Polki
- Člen | 553
Tak to vypadá, že se ti špatně tvoří cache, co je za sloupce v tabulce…
Hmm s ublaboo/datagrid nedělám, takže moc neporadím. Možná bych ale
zkusil explicitně ty sloupce vyjmenovat v ->select
$grid->setDataSource(
$this->database->table('headers')
->select('request, reqdate, type, supplier.name, mgrapprove, dirapprove, accapprove, approver')
->where('notify',$username),
);