Здравствуйте! Помогите разобраться с модулем CostaRico/yii2-images
Вроде все понятно…но почему выдает ошибку при изменении(добавлении) картинки…
exception ‘yii\base\UnknownPropertyException’ with message ‘Getting unknown property: backend\models\Oneservice::id’ in D:\OpenServer\domains\localhost\shop\vendor\yiisoft\yii2\base\Component.php:143
Stack trace:
до вызова $model->attachImage($path); все нормально…файл по пути %path сохраняется.
Прикрепляю код модели, формы, контроллера.
модель
<?php
namespace backend\models;
use Yii;
/**
* This is the model class for table "one_service".
*
* @property integer $idone_service
* @property string $title
* @property string $text
* @property string $breadcrumb
* @property string $gen_img
* @property string $img
* @property string $img_title
* @property string $img_alt
* @property string $meta_title
* @property string $meta_description
* @property string $meta_keywords
* @property string $date_add
*/
class Oneservice extends \yii\db\ActiveRecord
{
public $img;
public function behaviors()
{
return [
'image' => [
'class' => 'rico\yii2images\behaviors\ImageBehave',
]
];
}
/**
* @inheritdoc
*/
public static function tableName()
{
return 'one_service';
}
/**
* @inheritdoc
*/
public function rules()
{
return [
[['text'], 'string'],
[['date_add'], 'safe'],
[['title', 'gen_img', 'meta_keywords'], 'string', 'max' => 100],
[['breadcrumb', 'img_title', 'img_alt', 'meta_title'], 'string', 'max' => 60],
[['meta_description'], 'string', 'max' => 200],
];
}
/**
* @inheritdoc
*/
public function attributeLabels()
{
return [
'idone_service' => 'Idone Service',
'title' => 'Title',
'text' => 'Text',
'breadcrumb' => 'Breadcrumb',
'gen_img' => 'Gen Img',
'img' => 'Картинка',
'img_title' => 'Img Title',
'img_alt' => 'Img Alt',
'meta_title' => 'Meta Title',
'meta_description' => 'Meta Description',
'meta_keywords' => 'Meta Keywords',
'date_add' => 'Date Add',
];
}
}
Форма
<?php
use yii\helpers\Html;
use yii\widgets\ActiveForm;
/* @var $this yii\web\View */
/* @var $model backend\models\Oneservice */
/* @var $form yii\widgets\ActiveForm */
?>
<div class="oneservice-form">
<?php $form = ActiveForm::begin([
'options' => ['enctype' => 'multipart/form-data'] // для того что бы форма поддерживала отправку
]); ?>
<?= $form->field($model, 'title')->textInput(['maxlength' => true]) ?>
<?= $form->field($model, 'text')->textarea(['rows' => 6]) ?>
<?= $form->field($model, 'breadcrumb')->textInput(['maxlength' => true]) ?>
<?= $form->field($model, 'gen_img')->textInput(['maxlength' => true]) ?>
<?= $form->field($model, 'img')->fileInput()?>
<?= $form->field($model, 'img_title')->textInput(['maxlength' => true]) ?>
<?= $form->field($model, 'img_alt')->textInput(['maxlength' => true]) ?>
<?= $form->field($model, 'meta_title')->textInput(['maxlength' => true]) ?>
<?= $form->field($model, 'meta_description')->textInput(['maxlength' => true]) ?>
<?= $form->field($model, 'meta_keywords')->textInput(['maxlength' => true]) ?>
<?= $form->field($model, 'date_add')->textInput() ?>
<div class="form-group">
<?= Html::submitButton($model->isNewRecord ? 'Create' : 'Update', ['class' => $model->isNewRecord ? 'btn btn-success' : 'btn btn-primary']) ?>
</div>
<?php ActiveForm::end(); ?>
</div>
контроллер
<?php
namespace backend\controllers;
use Yii;
use backend\models\Oneservice;
use backend\models\OneserviceSearch;
use yii\web\Controller;
use yii\web\NotFoundHttpException;
use yii\filters\VerbFilter;
/**
* OneserviceController implements the CRUD actions for Oneservice model.
*/
class OneserviceController extends Controller
{
public function behaviors()
{
return [
'verbs' => [
'class' => VerbFilter::className(),
'actions' => [
'delete' => ['post'],
],
],
];
}
..................................................................
public function actionUpdate($id)
{
$model = $this->findModel($id);
if ($model->load(Yii::$app->request->post()) && $model->save()) {
$model->img = \yii\web\UploadedFile::getInstance($model, 'img');
$path = Yii::getAlias('@webroot/upload/').$model->img->baseName.'.'.$model->img->extension;
$model->img->saveAs($path);
$model->attachImage($path);
exit();
return $this->redirect(['view', 'id' => $model->idone_service]);
} else {
return $this->render('update', [
'model' => $model,
]);
}
}
Вроде все как в документации делаю(все файлы в бэкенде) но в дб в сгенерированную табл. image добавлять ничего не хочет…(((((