Как рассматривать столбец BLOB как строку в Doctrine?Php

Кемеровские программисты php общаются здесь
Anonymous
Как рассматривать столбец BLOB как строку в Doctrine?

Сообщение Anonymous »

Использование Doctrine 3.1. В моей сущности есть этот столбец:

Код: Выделить всё

    #[ORM\Column(type: 'blob')]
private $dataJpg;
Если я сделаю это строкой, PHP сообщит, что ресурс используется, и он не сможет назначить его во время гидратации. Проблема в том, что я вообще не хочу использовать ресурсы, мне нужны двоичные данные в строковой форме.
При выполнении метода получения с ресурсом легко работать:< /p>

Код: Выделить всё

    public function getDataJpg(): ?string
{
$jpgData = $this->dataJpg;
/** @var resource|null $jpgData*/
if ($jpgData !== null) {
return stream_get_contents($jpgData);
}
return null;
}
А вот для сеттера я не знаю, как к этому подойти. Я получаю строковую переменную, которую хочу сохранить, но не могу назначить ее ресурсу. Обходным решением было бы fopen('php://memory'), но мне это не нравится.
Мне нужен способ указать доктрине гидратировать данные больших двоичных объектов в виде строк, так что я могу получать и устанавливать только строки и не заботиться о ресурсах.

Подробнее здесь: https://stackoverflow.com/questions/785 ... n-doctrine

Вернуться в «Php»