我正在尝试使用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;
}
答案 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,
)
);