Chyba při výběru hodnoty z DB přes název sloupce dosazený v proměnné
- kuon
- Člen | 17
Ahoj,
používám níže uvedený kód pro naplnění hodnot z databáze do
formuláře – např. editace uživatele. Na jedné doméně mi to funguje a
na druhé doméně mi naprosto stejný kód hlásí chybu „Array to string
conversion“. Problém je ve výběru konkrétní hodnoty z DB přes název
sloupce dosazený v proměnné: $ROW->$COL[‚name‘] Proč mi to ale
jednou funguje a podruhé ne? Jak to mám správně nastavit, abych nemusel
manuálně vypisovat všechny názvy sloupců? Díky za pomoc.
$DB_sloupce = $this->database->getConnection()->GetSupplementalDriver()->getColumns('uzivatele');
$DB_vypis_hodnot = array();
foreach ($DB_sloupce as $COL) {
foreach ($DB_uzivatele as $ROW) {
$DB_vypis_hodnot[$COL['name']] = $ROW->$COL['name'];
}
}
$this->FORM_DATA = $DB_vypis_hodnot;
- Phalanx
- Člen | 310
Ahoj,
Laděnka ti musí vyhodit, která proměnná to udělala (tipuju nějaké datum). Mrkni do logs.
PS: Tvůj kód mi přijde hodně špatný, přepsal bych to nějak následovně:
<?php
$user = $this->database->table('uzivatele')->where('id=?', $id)->fetch();
if ($user) {
$defaults = $user->toArray();
// tady si ještě ošetři nedefinované hodnoty např. v select, radio...
// nebo naformátuj datum $defaults['date'] = ...;
$form->setDefaults($defaults);
}
?>
Editoval Phalanx (8. 4. 2019 11:07)