【发布时间】:2011-12-21 14:43:47
【问题描述】:
我通过以下代码使用选择查询:
$params = array(
'username' => 'root',
'password' => '',
'dbname' => 'mst2');
$db = Zend_Db::factory('pdo_mysql', $params);
$select = $db->select()
->from(array('dc' => 'delivery_center'))
->join(array('r' => 'region'), 'dc.region_id = r.region_id');
$stmt = $select->query();
$result = $stmt->fetchAll();
这里 $db 是我正在使用的数据库的凭据。但是我已经通过以下几行在 application.ini 中指定了凭据:
resources.db.params.host = localhost
resources.db.params.username = root
resources.db.params.password = ''
resources.db.params.dbname = mst2
现在从逻辑上讲,我不应该再次提供这些凭据。但我必须使用选择查询。那么如何在不再次证明数据库凭据的情况下初始化 $db??提前致谢。
【问题讨论】:
-
我自己得到了答案。我们必须这样使用:$table = new Admin_Model_DbTable_DeliveryCenter(); $select = $table->select(Zend_Db_Table::SELECT_WITH_FROM_PART); $select->setIntegrityCheck(false) ->join('region', 'region.region_id = delivery_center.region_id'); $result = $table->fetchAll($select);
标签: zend-framework zend-db zend-db-select