在zf2中更新sql中更新联接

在zf2中更新sql中更新联接,sql,join,zend-framework2,sql-update,Sql,Join,Zend Framework2,Sql Update,我试图弄清楚如何使用Zend Framework 2中的联接从Zend\Db\Sql更新 在文档中,他们说唯一允许更新的方法是where()和set(),因此我想知道是否有其他方法可以获得相同的结果。您可以这样做(未经测试): 我认为Zend Db适配器提供的“update()”方法不可能实现这一点 但是,您可以使用适配器手动运行查询。比如: //$adapter是Zend_Db_适配器的一个实例 $adapter->query(您在此处的查询) 这似乎是 Zend似乎没有办法解决这个问题。谢谢

我试图弄清楚如何使用Zend Framework 2中的联接从Zend\Db\Sql更新


在文档中,他们说唯一允许更新的方法是where()和set(),因此我想知道是否有其他方法可以获得相同的结果。

您可以这样做(未经测试):


我认为Zend Db适配器提供的“update()”方法不可能实现这一点

但是,您可以使用适配器手动运行查询。比如:

//$adapter是Zend_Db_适配器的一个实例
$adapter->query(您在此处的查询)

这似乎是


Zend似乎没有办法解决这个问题。

谢谢你的回复,事实上我是被迫这样做的。我想知道是否有一种“Zf2方法”来完成这种常见的操作
$db = new DbAdapter(
    array(
        'driver'        => 'Pdo',
        'dsn'            => 'mysql:dbname=mydb;host=localhost',
        'username'       => 'root',
        'password'       => '',
        )
);
$sql = 'UPDATE t1 JOIN t2 ON t1.id = t2.id SET t1.atr = 1';
$sql_result = $db->createStatement($sql )->execute();
if($sql_result->count() > 0){
    echo "DONE";
}