Zend查询更新

时间:2012-08-28 14:41:46

标签: php mysql zend-framework

我想做一个zend更新查询。

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

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

我想进行下一个查询:

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

2 个答案:

答案 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);

答案 1 :(得分: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)" 
    );