Zend_Db_Table_Row already did it for you:
$table = new MyApp_Db_Table;
$data = $form->getValues();
$row = $table->createRow($data);
$row->save();
// or
$row = $table->createRow();
$row->setFromArray($data);
$row->save();
Mickael
PHPScriptor a écrit :
How I deal with this. I extend all my models with MyApp_Db_Table (this is
somewhere in my library directory). MyApp_Db_Table is extended by
Zend_Db_Table_Abstract.
With $this->_getCols(); I get all the columns in my table. If I have values
posted that are not in the table columns I remove them before inserted. You
only have to declare this ones and extend all your models with this class.
I hope this helped...
class MyApp_Db_Table extends Zend_Db_Table_Abstract
{
function __construct()
{
parent::__construct();
}
public function insert($data)
{
$vars = $this->_getCols();
$keys = array_keys($data);
foreach($keys as $key)
{
if(!in_array($key, $vars))
unset($data[$key]);
}
return parent::insert($data);
}
}