Есть модель.
class Item extends CActiveRecord
{
public $image;
// ... other attributes
public static function model($className=__CLASS__)
{
return parent::model($className);
}
public function tableName()
{
return 'image'; // название нашей таблицы в базе данных
}
public function rules()
{
return array(
array('image', 'file', 'types'=>'jpg, gif, png'),
);
}
}
Есть таблица image ссо следующими полями:
name, size, type.
Есть контроллер
class ItemController extends CController
{
public function actionCreate()
{
$model=new Item;
if(isset($_POST['Item']))
{
$model->attributes=$_POST['Item'];
$model->image=CUploadedFile::getInstance($model,'image');
if($model->save())
{
$model->image->saveAs('c:/temp/'.$model->image->name);
// redirect to success page
}
}
$this->render('create', array('model'=>$model));
}
}
После исполнения скрипта, добавляется запись в Бд но с пустыми данными. Потому что значения(name, size …)
находятся в $model->image->name и $model->image->size.
Получется нужно делать
$model->size = $model->image->size;
чтобы получить значения и занести их в Бд или есть другой способ занести $model->image->size; в таблицу image в поле size?