【发布时间】:2012-08-10 14:33:54
【问题描述】:
两个模型作为Zend_Db_Select 对象返回。
然后,我需要将它们加入并一起获取数据。
class Model_User extends Abstract_Model {
public function sqlUser() {
return $this->select(array(
'user_id', 'user.name', 'user.login', 'address.street', 'city.city_id', 'city.city_name','region.region_id', 'region.region_name'
))
->joinUsing('address','address_id','') ->join('city', 'city.city_id = address.city_id', '')
->join('region', 'region.region_id = city.region_id', '');
}
}
class Model_Technics extends Abstract_Model{
public function sqlList() {
return $this->select()
// here some more sql
->joinUsing('catalog_model','model_id','');
}
}
然后我需要一些其他地方为每个用户获取包含所有信息的 sqlList。我不想复制所有代码,我只想通过 join 从 User 模型中加入 sql
【问题讨论】:
-
如果您提供相关的sn-p代码会更容易回答您的问题
-
我建议您可能想要实现某种映射器策略,或者只需选择 1 个表并通过将其他表连接到它来执行查询。你现在的情况令人不安。
-
您可以使用 findDependentRowset 来一键获取结果,或许对您有帮助:framework.zend.com/manual/en/zend.db.table.relationships.html
标签: php zend-framework join fetch zend-db-select