Zend更新查询

时间:2015-10-16 09:53:42

标签: php mysql zend-framework sql-update

如何使用zend语法编写下面的mysql查询?

UPDATE core_user_transaction as t 
JOIN core_user_transaction_therapy AS cuts ON cuts.tid=t.tid
JOIN therapy_booking AS tb ON cuts.conf_id = tb.conf_id
JOIN therapy_service_fees AS fees ON cuts.fee_id=fees.id
JOIN therapy_service_taxes AS tst ON fees.service_id=tst.service_id
JOIN core_tax AS ct ON ct.tax_id = tst.tax_id
SET t.tax=ROUND(t.fee*(ct.tax_value/100),2),
    t.amount = (ROUND(t.fee*(ct.tax_value/100),2)+t.fee)
WHERE tb.datetime >= '2015-10-01 00:00:00'
    AND t.state = 'PENDING'
    AND t.status ='ACTIVE'

2 个答案:

答案 0 :(得分:0)

Zend Db Adapter提供的'update()'方法是不可能的。 但是,您可以使用适配器手动运行查询。类似的东西:

    // $adapter is an instance of Zend_Db_Adapter
    $adapter->query(YOUR QUERY HERE);

答案 1 :(得分:0)

试试这个:

$adapter = new Zend\Db\Adapter\Adapter($driverConfig);
$sql = "YOUR_QUERY";
$statement = $adapter->query($sql);
$statement->execute();

另请参阅Zend\Db\Adapter