Я работаю над проектом Yii с базой данных, содержащей таблицу, где почти все это данные хранятся в поле, как JSON (это сумасшедшее, но это так, как это):Как сохранить двоичный код непосредственно в поле таблицы базы данных (данные JSON) в Yii?
id INTEGER
user_id INTEGER
data LONGTEXT
Это «JSON поле» data
имеет следующую структуру и содержит среди прочего изображения:
{
"id":"1",
"foo":"bar",
...
"bat":{
"baz":"buz",
"name":"Joe Doe",
"my_picture":"iVBORw0KGgoAAAANSUhEUgAAAGQA...", <-- binary
...
}
}
Показано, что это не проблема, но теперь я хочу сделать ediable данных. Моя форма выглядит так:
<?php
$form=$this->beginWidget('CActiveForm', array(
'id' => 'insurance-form',
'htmlOptions' => array('enctype' => 'multipart/form-data'),
'enableAjaxValidation'=>false,
));
?>
<div class="row">
<?php echo $form->labelEx($model, 'provider_name'); ?>
<?php
echo $form->textField($model, 'data[provider][name]', array(
'size'=>60, 'maxlength'=>255, "autocomplete"=>"off"
));
?>
<?php echo $form->error($model, 'data[provider][name]'); ?>
</div>
Это работает.
Я знаю, что для загрузки изображения мне нужно fileField(...)
, но не можете узнать, как его настроить, чтобы сохранить изображение непосредственно в базе данных. Как это сделать?