Doctrine 2写入BLOB类型

时间:2014-04-01 16:48:04

标签: php doctrine-orm

我需要使用doctrine 2写入BLOB列。因为文档建议BLOB类型映射到PHP资源。所以我尝试了fwrite(),但它没有用。

/**
 * @Entity @Table(name="products")
 **/
class Product
{
    /** @Id @Column(type="integer") @GeneratedValue **/
    protected $id;

    /** @Column(type="blob") **/
    protected $fileResource;

    public function getFileResource() {
       return $this->fileResource;
    }

    // .. (other code)
}

我的测试用例(无法找到官方示例):

$product = new Product();
fwrite($product->getFileResource(), "The Data");
$em->persist($product);
$em->flush();

我的错误是什么?

2 个答案:

答案 0 :(得分:0)

您不需要像流一样编写它。只需使用简单的赋值(或setter方法)。

$product = new Product();
$product->setFileResource("The Data");
$em->persist($product);
$em->flush();

答案 1 :(得分:-2)

此处列出的类型名称等于可以传递给工厂方法以便检索所需类型实例的类型名称

<?php

// Returns instance of \Doctrine\DBAL\Types\IntegerType
$type = \Doctrine\DBAL\Types\Type::getType('integer')
?>

可能会帮助你...