1 Pregunta: Obtención de propiedad desconocida Excepción en yii2

pregunta creada en Sat, Jul 30, 2016 12:00 AM

Aquí tengo un modelo en yii2

<?php

namespace app\models;

/**
 * This is the model class for table "car_ad".
 *
 * @property integer $id
 * @property integer $brand_id
 * @property integer $sub_brand_id
 * @property integer $sell_type
 * @property integer $year
 * @property integer $the_function
 * @property integer $fuel_type_id
 * @property integer $gearbox
 * @property integer $sell_mode
 * @property integer $real_price
 * @property integer $prepayment
 * @property integer $installment_price
 * @property integer $no_installments
 * @property integer $delivery_time_id
 * @property integer $installments_period
 * @property integer $body_status_id
 * @property integer $body_color_id
 * @property integer $inside_color_id
 * @property integer $number_type
 * @property string $description
 * @property integer $ad_type_id
 * @property integer $provice_id
 * @property integer $city_id
 * @property string $address
 * @property string $lang
 * @property string $lat
 * @property string $creation_date
 * @property integer $user_id
 */
class CarAd extends \yii\db\ActiveRecord
{
    public $imageFiles;
    /**
     * @inheritdoc
     */
    public static function tableName()
    {
        return 'car_ad';
    }

    /**
     * @inheritdoc
     */
    public function rules()
    {
        return [
            [['brand_id', 'sub_brand_id', 'sell_type', 'year', 'used_value', 'fuel_type_id', 'gearbox', 'body_status_id', 'body_color_id', 'number_type', 'ad_type_id', 'provice_id', 'city_id', 'address', 'lang', 'lat', 'creation_date', 'user_id'], 'required'],
            [['brand_id', 'sub_brand_id', 'sell_type', 'year', 'fuel_type_id', 'used_value ', 'gearbox', 'sell_mode', 'real_price', 'prepayment', 'installment_price', 'no_installments', 'delivery_time_id', 'installments_period', 'body_status_id', 'body_color_id', 'inside_color_id', 'number_type', 'ad_type_id', 'provice_id', 'city_id', 'creation_date', 'user_id'], 'integer'],            
            [['description'], 'string'],
            [['address', 'lang', 'lat'], 'string', 'max' => 512],
            [['imageFiles'], 'file', 'skipOnEmpty' => true, 'extensions' => 'png, jpg', 'maxFiles' => 10],
        ];
    }

    public function upload()
    {   

        foreach ($this->imageFiles as $file) {
            $image = New CarAdImage();            
            $image->image = $file->baseName . '.' . $file->extension;
            $image->car_ad_id = $this->id;
            $image->save();
            $file->saveAs('img/car_ad/' . $file->baseName . '.' . $file->extension);
        }        
    }

    /**
     * @inheritdoc
     */
    public function attributeLabels()
    {
        return [
            'id' => 'شناسه', 'brand_id' => 'برند', 'sub_brand_id' => 'مدل','sell_type' => 'فروش به صورت',
            'year' => 'سال','used_value' => 'کارکرد','fuel_type_id' => 'سیستم سوخت','gearbox' => 'گیربکس',
            'sell_mode' => 'نوع فروش','real_price' => 'قیمت نقدی','prepayment' => 'پیش پرداخت','installment_price' => 'مبلغ هر قسط','no_installments' => 'تعداد اقساط','delivery_time_id' => 'موعد تحویل',
            'installments_period' => 'دوره پرداخت',
            'body_status_id' => 'وضعیت بدنه',
            'body_color_id' => 'رنگ بدنه',
            'inside_color_id' => 'رنگ داخل',
            'number_type' => 'نوع پلاک',
            'description' => 'توضیحات اضافی',
            'ad_type_id' => 'نوع آگهی',
            'provice_id' => 'استان',
            'city_id' => 'شهرستان',
            'address' => 'آدرس',
            'lang' => 'طول جغرافیایی',
            'lat' => 'عرض جغرافیایی',
            'creation_date' => 'تاریخ ایجاد',
            'user_id' => 'کاربر ایجاد کننده',
            'imageFiles' => 'تصاویر آگهی'
        ];
    }
}

cuando quiero enviar el formulario que me enfrento con este error.

Getting unknown property: app\models\CarAd::used_value

pero como ves, tengo este campo en mis campos. Mi nombre de la mesa es car_ad. ¿Cuál es el problema con mi código?

    
6
1 Respuestas                              1                         

Debido a que este campo no está presente en el comentario de @propiedad, supongo que lo ha agregado después de que se haya generado el modelo. Si tiene el esquema de base de datos, los nuevos campos no se recuperarán hasta que se actualice la memoria caché. Intenta eliminar el caché de la base de datos.

    
8
2016-07-30 15: 39: 34Z
  1. He cambiado el campo en la base de datos, primero su nombre era the_function y recibí el mismo error, luego lo cambié de nombre y nada cambió
    2016-07-30 15: 50: 12Z
  2. ¿Entonces no hay 'enableSchemaCache' => true en la configuración de conexión de su base de datos?
    2016-07-30 15: 52: 55Z
  3. no hay; t. También he actualizado el esquema en mi acción :(
    2016-07-30 15: 56: 21Z
  4. He notado que hay un espacio al final de este nombre en la segunda fila de reglas. Tal vez esta es la causa?
    2016-07-30 15: 59: 18Z
  5. gracias amigo :) has ahorrado mi tiempo
    2016-07-30 16: 03: 25Z
fuente colocada aquí