Как рассматривать столбец 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
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

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