在application.ini中设置SQLITE的示例。你也可以设置MySQL或其他。
resources.db.adapter = "PDO_SQLITE"
resources.db.params.dbname = APPLICATION_PATH "/../data/db/guestbook.db"
一旦DB被加载到应用程序,你可以扩展Zend_Db_Table_Abstract
class Application_Model_DbTable_Guestbook extends Zend_Db_Table_Abstract
{
/** Table name */
protected $_name = 'guestbook';
public function init() {
$db = $this->getAdapter();
}
}
您可以使用Zend方法...
$select = $db->select()
->from(array('p' => 'products'),
array('product_id', 'product_name'))
->join(array('l' => 'line_items'),
'p.product_id = l.product_id');
或者你也可以做直接的SQL。 ...
$sql = 'SELECT * FROM table1 t1 JOIN table2 t2 ON (t1.id = t2.id) JOIN table3 t3 ON (t3.id = t2.id);
$db->query($sql)->fetchAll();
所有这一切都可以在扩展Zend_Db_Table_Abstract任何模型类完成
是的,我可以设置应用程序设置数据库。但是没有明显的方式将数据库对象放入模型中。 – 2010-04-13 04:10:13
@比利 - 再看看。 – 2010-04-13 04:50:02
我不想使用表格数据网关。很难表示常规需要连接5或6个表格的数据集。 – 2010-04-13 06:25:31