2012-08-28 80 views
0

我想创建一个zend更新查询。Zend查询更新

我在看zend documentation,但我没有看到任何像我想要的例子。

问题是否有人可以帮助我查询。

我想使一个查询:运行任何复杂的查询

Update cars set active = 0 
Where id in (SELECT idCar FROM UserCars Where idUser=3) 
+0

我看到了Zend文档,但我没有看到这样的任何实例并张贴在这里,是因为有人可以帮助我。 这里它的链接我在寻找 http://framework.zend.com/manual/en/zend.db.adapter.html –

+0

对不起,翻译我不是很好的英文,谢谢 –

回答

3

简单的方法。可以有一些更好的方法来做同样的事情。

$sql = "Update cars set active = 0 
Where id in (SELECT idCar FROM UserCars Where idUser=3)"; 
$query = $this->getDbTable()->getAdapter()->query($sql, $data); 
$query->execute(); 

试试这个太

$data = array { 'active' = '0' }; 
$where = "id in (SELECT idCar FROM UserCars Where idUser=3)"; 
$db->update($data, $where); 
3

也许更Zendy方式:

$idUser = 3; 
$sub_select 
    = $db->select() 
     ->from('UserCars', array('id')) 
     ->where('idUser = ?', $idUser); 

$updated_rows 
    = $db->update('cars', 
     array('active' => 0), 
     "id IN ($sub_select)" 
    );