我的问题是:
我想获取Description
列的ID等于Advertistment's
列的所有广告。
假设Advertistment
列与Description
列相关联。
我想获得所有描述的id,其中一个名为type_of_house
的列等于m
。
然后显示所有广告代码,其中广告的ID与描述的ID相等。
简而言之:广告显示房屋信息,描述商店房屋类型D和M,我希望显示所有房屋类型为M的广告。
这是正确的sql:
SELECT * FROM advertistment, description WHERE advertistment.id_advertistment = description.id_description AND description.type_of_house = "m"
我不知道如何将它写入zend。我尝试过类似的东西。我在模型文件夹中写的这个函数。
public function takeAll() {
$select = $this->_db->select();
$select->from(array('a' => 'advertistment', 'd' => 'description'));
$select->where('a.id_advertistment = d.id_description AND d.type_of_house = m');
return $select->query()->fetchAll();
}
答案 0 :(得分:0)
你其实非常接近。这应该有效:
public function takeAll() {
$select = $this->_db->select();
$select->from(array('a' => 'advertistment'));
$select->join(array('d' => 'description'), 'a.id_advertistment = d.id_description');
$select->where('d.type_of_house = ?', 'm');
return $this->_db->fetchAll($select);
}