Persistentní proměnné – Invalid value for persistent parameter … expected scalar

Upozornění: Tohle vlákno je hodně staré a informace nemusí být platné pro současné Nette.
Prochy
Člen | 91
+
0
-

Zdravim,
po dlouhé době tu přicházím s dotazem, se kterým si sám nevím rady. Využíval jsem u jednoho projektu nette v2.0.x rád bych přešel na v2.1. V projektu je poměrně dost využívána Tabella, jsem s ní spokojen, takže tu nechci měnit, jen tu nastal problém s persistentním získáním parametrů nutných k filtrování řádků. U tohoto řádku v Tabelle:

public function loadState(array $params) {
116:            $default = $this->params;
117:            parent::loadState($params);
118:            $this->params = $this->params + (array) $default;
119:        }

Mi to hází následující error:

`Invalid value for persistent parameter 'filter' in 'reports', expected scalar.`

Parametr $params má následující výstup:

array (1)
filter => array (12)

Je možné nějak nette vnutit, že by to nemělo vadit, že tam je vnořený pole? Nebo to je problém samotného PHP?

Díky za rady.

jiri.pudil
Nette Blogger | 1032
+
0
-

Presenter nyní zabraňuje, aby vám někdo podstrčil do persistentního parametru pole. Pokud ale pole chcete, uveďte ho jako výchozí hodnotu,

https://phpfashion.com/…na-nette-2-1#…

Prochy
Člen | 91
+
0
-

Tak už to funguje, o tomhle jsem věděl, že je nutné tomu říct, že to je pole, jen jsem předával špatné proměnné typ array(), tak sem si říkal, jestli není chyba někde jinde. Děkuji