Как объявить таблицу базы данных Zend_Db_Table_Row? - PullRequest
0 голосов
/ 17 декабря 2011

У меня есть следующие классы моделей Zendframework

class Application_Model_DbTable_Mobile extends Zend_Db_Table_Abstract {

protected $_name = 'mobile';
protected $_rowClass = 'Application_Model_Mobile';
}

Класс объекта

class Application_Model_Mobile extends Zend_Db_Table_Row_Abstract {



}

Но когда я пытаюсь сохранить напрямую из o Application Model_Mobile, он возвращает ошибку

 $m = new Application_Model_Mobile();
 $m->name = 'Mobile Test';
 $m->save();

 Application error
 Exception information:

 Message: Specified column "chave" is not in the row 

Как я могу сказать, что Application_Model_Celular имеет мобильный стол?

1 Ответ

0 голосов
/ 17 декабря 2011

Попробуйте:

class Application_Model_Mobile extends Zend_Db_Table_Row_Abstract {
     protected $_tableClass = 'Application_Model_DbTable_Mobile';


}

Обычно вы бы не использовали Zend_Db таким образом (хотя у вас может быть для этого достаточно веская причина). Стандартный способ сделать это - не определять класс Application_Model_Mobile, а просто написать код:

$table = new Application_Model_DbTable_Mobile();
$m = $table->createRow();
$m->name = 'Mobile Test';
$m->save();
...