mam klase mieszkanie:
<?php
class Mieszkanie extends Zend_Db_Table_Abstract
{
/**
* Odzwierciedlenie struktury bazy danych na obiekty
*/
protected $_name = 'flat';
protected $_primary = 'id';
protected
$_referenceMap = array( 'columns' => array('building_id'), 'refTableClass' => 'Budynek',
'refColumns' => array('id'), 'onDelete' => self::CASCADE,
'onUpdate' => self::RESTRICT
),
'columns' => array('investment_id'), 'refTableClass' => 'Inwestycja',
'refColumns' => array('id'), 'onDelete' => self::CASCADE,
'onUpdate' => self::RESTRICT
)
);
public function __construct()
{
parent::__construct ();
}
public function update($param)
{
$rekordEdit = $this->fetchRow('id = "'.$param['id'].'"');
/**
* Musimy usunąć z tablicy parametrów poniższe zmienne,
* aby nie były wstawiane do tabeli [unset]
*/
//unset($param['module'],$param['controller'],$param['action']);
$rekordEdit->foto5 = 'zdjecie_5';
//print_r($rekordEdit->toArray());
$rekordEdit->id = $param['id'];
$rekordEdit->save();
}
}
?>
oraz kontroler:
<?php
public function updateAction()
{
$this->_helper->viewRenderer->setNoRender();
Zend_Loader::loadClass('Mieszkanie', '../application/admin/models/');
$mieszkanie = new Mieszkanie();
$param = $this->_getAllParams();
//print_r($param);
$mieszkanie->update($param);
$this->_flashMessenger->addMessage('Zaktualizowano rekord!');
//$this->_redirect(BASE_URL."admin/mieszkanie/");
}
?>
chcialem zeby aktualizowal sie rekord. No i problemy:
1. przy tym kodzie kontroler update pokazuje blad:
Fatal error: Call to undefined method stdClass::toArray() in D:\web\generator_table\application\admin\models\Mieszkanie.php on line 151
2. jesli w motodzie update klasy mieszkanie zmienie
$rekordEdit = $this->fetchRow('id = "'.$param['id'].'"');
na np.
$rekordEdit = $this->fetchRow('id = "44"');
czyli podam liczbe a nie zmienna to mi sie wywala apache - albo wylącza, albo nieznaleziono strony.
Co robie źle? prosze o pomoc.