ublaboo grid Nette\MemberAccessException

vitepin
Člen | 2
+
0
-

Dobrý den,
potýkám se s opravdu zvláštní chybou:

https://ibb.co/dDXG5hp

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
+
0
-

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),
);
vitepin
Člen | 2
+
0
-

No byl to klasický šotek, stačilo zakomentovat ten grid v šabloně, a pak zase odkomentovat a všechno jede :-D