@Belib0v
Осторожно, новичок

Не определяет модель, выдает unknown property. Как исправить?

Не могу зайти в раздел в браузере, выдает ошибку unknown property, а она вроде как есть

20unknown%20property%3A%20common%5Cmodels%5CMainCompanyClipart%3A%3Aempty_notification_icon_id

Прикрепляю код этого файла:

namespace common\models;

use common\models\query\ExtendedActiveQuery;
use common\models\traits\MainCompanyClipartTrait;
use Yii;
use yii\db\ActiveRecord;

/**
 * This is the model class for table "main_company_clipart".
 * @property int $id
 * @property int $card_image_id
 * @property int $card_icon_id
 * @property int $search_product_icon_id
 * @property int $search_product_image_id
 * @property int $authorisation_icon_id
 * @property int $authorisation_image_id
 * @property int $empty_orders_icon_id
 * @property int $empty_orders_image_id
 * @property int $empty_favorite_icon_id
 * @property int $empty_favorite_image_id
 * @property int $empty_notification_icon_id
 * @property int $empty_notification_image_id
 */
class MainCompanyClipart extends ActiveRecord

{
    use MainCompanyClipartTrait;

    public static function tableName()
    {
        return '{{%main_company_clipart}}';
    }

    public static function findOrCreate($id)
    {
        $companyClipart = self::findOne(['main_company_id' => $id]);
        if (!$companyClipart) {
            $companyClipart = new MainCompanyClipart(['main_company_id' => $id]);
        }
        return $companyClipart;
    }

    public static function find()
    {
        return Yii::createObject(ExtendedActiveQuery::className(), [get_called_class()]);
        // return Yii::createObject(ExtendedActiveQuery::className(), [get_called_class()]);
    }

    public function rules()
    {
        return [
            [['main_company_id'], 'required'],
            [['main_company_id', 'card_image_id', 'card_icon_id', 'search_product_icon_id', 'search_product_image_id', 'authorisation_icon_id', 'authorisation_image_id', 'empty_orders_icon_id', 'empty_orders_image_id', 'empty_favorite_icon_id', 'empty_favorite_image_id', 'empty_notification_icon_id', 'empty_notification_image_id'], 'integer']
        ];
    }
  • Вопрос задан
  • 148 просмотров
Пригласить эксперта
Ответы на вопрос 1
kawabanga
@kawabanga
Если есть поле БД, то проверять:
1) Закэширована ли база данных, смотреть в конфиге.
'db' => [
            'class' => 'yii\db\Connection',
            'dsn' => 'mysql:host=localhost;dbname=mydatabase',
            'username' => 'root',
            'password' => '',
            'enableSchemaCache' => true,

            // Duration of schema cache.
            'schemaCacheDuration' => 3600,

            // Name of the cache component used to store schema information
            'schemaCache' => 'cache',
        ],


2) Проверять, если ли поле в БД. Если нет, то смотреть по коду - почему?

Если свойство не должно быть в БД, то смотреть, если ли свойство в вашем класе(по тексту - нет), есть ли на нем magic метод (у вас нет), или есть ли свойство в трейте ( у вас нет.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы