dotaz na databazi → array | pri necachovnem nacteni hazi PDOException
Upozornění: Tohle vlákno je hodně staré a informace nemusí být platné pro současné Nette.
- simPod
- Člen | 383
tohle mam v modelu (zjednosena verze)
function productSearch($query){
$sql = $this->getProducts()->where('product_name LIKE ?', '%' . $query . '%');
$sql2 = $this->getProducts()->where('product_desc LIKE ?', '%' . $query . '%');
$sql3 = $this->getProducts()->where('product_sku LIKE ?', '%' . $query . '%');
$array = array();
foreach ($sql as $sq) {
array_push($array, $sq);
}
foreach ($sql2 as $sq) {
array_push($array, $sq);
}
foreach ($sql3 as $sq) {
array_push($array, $sq);
}
$array = array_unique($array);
return $array;
}
vysledne pole se vrati do presenteru, to se preda do templatu, kde se to
pomoci {foreach $products as $product}
projde
ovsem kdyz pouziju jakekoliv vypsani promenne, napr.
{$product->product_id}
, tak mi to vyhodi chybu:
PDOException No reference found for $products->product_id.
.
Ovsem ta chyba se zobrazi jen pri prvnim nacteni. Kdyz se to zcachuje, tak po
reloadu stranky funguje bez problemu.
Kdyz potom smazu cache, tak to zas vyhodi chybu.
Cim to muze byt? diky
- bojovyletoun
- Člen | 667
Funkce getProducts vytváří novou Selection, nebo vrací pořád stejný objekt? Problém může být v tom, že jestli stejný objekt, pak se voláním where mění i původní objekt… Zkusil bych tedy clone… Více viz zde
Editoval bojovyletoun (12. 6. 2012 20:08)