Сохранение и извлечение больших двоичных объектов с помощью Propel ORM

Я использую Propel (1.4) с Symfony 1.31 (с базой данных mySQL). Я хочу сохранить/получить данные BLOB (gzip) в/из базы данных

Моя схема БД определена в YML.

Предположим, схема выглядит так:

demo_blobbed_object:
  _attributes: { phpName: MrBlobby }
  id:
  name: {type: varchar(32)}
  data: {type: ? }

у меня есть следующие вопросы

  1. Что такое тип: значение для типа поля BLOB в YML?
  2. Могу ли я использовать обычные методы установки геттера для получения/установки данных большого двоичного объекта из объекта MrBlobby?

В документации по пропелю указано здесь, что _toString( ) необходимо вызвать метод, но неясно, применимо ли это все еще к Propel 1.4.


person Stick it to THE MAN    schedule 26.01.2010    source источник


Ответы (1)


Это должно быть BLOB или CLOB в зависимости от того, что подходит для вашего использования. В вашем случае я бы подумал BLOB...

http://propel.phpdb.org/trac/wiki/Users/Documentation/1.4/Schema-Reference

Что касается настройки/получения, я не уверен, поскольку никогда не сохранял изображения/gz/etc. в БД при использовании Propel раньше, поэтому мне никогда не приходилось его использовать. Однако это может ответить на ваши вопросы:

http://propel.phpdb.org/trac/wiki/Users/Documentation/1.4/LOB-Columns

person prodigitalson    schedule 26.01.2010
comment
tx — есть ли у вас какие-либо идеи о методах получения/установки? Изменилось ли это в версии 1.4? - person Stick it to THE MAN; 27.01.2010
comment
см. мое редактирование выше :-) EDIT: я добавил прямую ссылку на документы, которые, я думаю, дадут вам окончательный ответ на ваш вопрос об использовании. - person prodigitalson; 27.01.2010