zf2附加到现有列内容

时间:2015-04-05 11:13:12

标签: zend-framework2

我正在尝试使用zq2(Zend Framework)来使用mysql的CONCAT功能。

如何附加到现有文本列值?

实施例

旧值:image1Path
新值:image1Path ** image2path。

我在模型表文件中的功能。

public function updatePresImages($orderId,$newImageName)
{   
    $data = array(
        'prescription_upload_path'      => ??, 
        'date_updated'  => date('Y-m-d H:i:s'),
    );
    $updateStatus=$this->tableGateway->update($data, array('user_medicine_order_id' => $orderId));
    return  $updateStatus;          
}

2 个答案:

答案 0 :(得分:0)

从您的代码我可以看到您使用TableGatway。也许你可以试试这个:

public function updatePresImages($orderId,$newImageName)
{   
    $sql = "UPDATE yourTable SET prescription_upload_path= CONCAT(prescription_upload_path, '##', '$newImageName'), date_updated=now() WHERE user_medicine_order_id= '$orderId'"
    $updateStatus=$this->tableGateway->getAdapter()->driver->getConnection()->execute($sql);

    return  $updateStatus;          
 }

答案 1 :(得分:0)

实现require更新的表网关方式是使用Zend Expression。

在模型类顶部包含以下用法声明

use Zend\Db\Sql\Expression;

然后

$this->tableGateway->update(array(
        'prescription_upload_path' => new Expression('CONCAT(prescription_upload_path, "##", "'.$newImageName.'")'),
        'date_updated' => new Expression('now()')
    ),
    array(
        'user_medicine_order_id' => $orderId,

    )
);