PHP - Object of class Nette\Database\Row could not be converted

PHP - Object of class Nette\Database\Row could not be converted

Dobrý den,

začínám s php nette a udělal jsem si model, který kontroluje duplicity pro řetězec ve více tabulkách, dostávám však chybu "Recoverable Error Object of class Nette\Database\Row could not be converted to string search". Poradíte kde by mohl být problém? Díky


CHYBA

Recoverable Error
Object of class Nette\Database\Row could not be converted to string search>
Source file

File: .../vendor/latte/latte/src/Latte/Runtime/Filters.php:47

37:
38: /**
39: * Escapes string for use inside HTML.
40: * @param mixed plain text or IHtmlString
41: * @return string HTML
42: */
43: public static function escapeHtmlText($s)
44: {
45: return $s instanceof IHtmlString || $s instanceof \Nette\Utils\IHtmlString
46: ? $s->__toString(true)
47: : htmlspecialchars((string) $s, ENT_NOQUOTES, 'UTF-8');
48: }
49:
50:
51: /**



LATTE

<div n:foreach="$checkDuplicity as $checkDuplicita" class="flash">{$checkDuplicita[0]}</div>



MODEL

public function checkDuplicity($search) //vyhledani ve vsech tabulkach
{
$result = array();

//rozsekani na slova
$sArr = explode(" ", $search);

foreach ($sArr as &$q) {

if (strlen($q) > 2) { //pokud je retezec delsi nez 2 znaky

$result[] = $this->database->fetchAll('SELECT nazev FROM tab1 WHERE nazev LIKE ?', "%$q%");
$result[] = $this->database->fetchAll('SELECT original FROM tab2 WHERE original LIKE ?', "%$q%");
$result[] = $this->database->fetchAll('SELECT priloha FROM tab3 WHERE priloha LIKE ?', "%$q%");
}

}

return $result;

}


HOMEPAGE

$r = $this->modelPomocneFunkce->checkDuplicity($q);
print_r($r);
$this->template->checkDuplicity = $this->modelPomocneFunkce->checkDuplicity($q);


ODPOVĚĎ


Ahoj,

pokud tomu správně rozumím a chceš výsledky posílat jako flash message, tak to latte uprav pro standardní flash messages:

< div n:foreach="$flashes as $flash" n:class="alert, $flash->type">{$flash->message}< /div>

A v presenteru dej return z checkDuplicity jako $results iterovat:

foreach ($results as $result) {
$this->flashMessage($result[0], 'success');
}
Jak se ti článek líbil?

Komentáře (0)

Přidat komentář