2012-08-28 109 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)" 
    );