如何将blob数据添加到PhalconMvcModel


How to add blob data to PhalconMvcModel

我有一个扩展Phalcon''Mvc''Model的类,它包括一个blob字段。我目前在Phalcon 1.2.1。

如何读取数据?我尝试了以下

ModelClass::findFirst(
  array(
    "name = :name: AND blob = :blob:",
    "bind" => array(
       "name" => $name,"blob" => $base64
    )
  )
)

我也不知道如何写blob。但这个过程应该是平等的。

"与模特合作"指南对我也没有帮助。

我自己通过测试找到了答案。Phalcon似乎使用相同的原始数据类型,如mysql。例如,没有布尔值。您需要为tinyint存储0或1。blob值也有同样的问题。您需要传递一个二进制字符串,如:

$hex = "22aabb332299";
ModelClass::findFirst(
  array(
    "name = :name: AND blob = :blob:",
    "bind" => array(
       "name" => $name,"blob" => pack("H*",$hex)
    )
  )
)

这可能不是一个完美的方式,但当涉及到这个问题时,它对我很有效。

通过这种方式,您可以直接存储图像数据或其他文件,如

ModelClass::findFirst(
  array(
    "name = :name: AND blob = :blob:",
    "bind" => array(
       "name" => $name,"blob" => file_get_contents($path)
    )
  )
)