2017-06-22 108 views
0

我試圖插入使用Yii項目到我的數據庫,但我收到以下錯誤:PHP,Yii的 - 未知屬性例外

Unknown Property – yii\base\UnknownPropertyException

Getting unknown property: app\models\Item::lock

.../_保護/供應商/ yiisoft/yii2/base/Component.php

我是Yii和PHP的初學者,所以我甚至不知道在哪裏看。我試着在網上找到類似的東西,發現潛在的原因可能是大小寫敏感的:我的模型類叫Item,我的表叫item(phpMyAdmin把名字改爲小寫),但我仍然不知道什麼是什麼去做。

編輯:

這是我Item型號:

class Item extends BaseItem 
{ 
    /** 
    * @inheritdoc 
    */ 
    public function rules() 
    { 
     return array_replace_recursive(parent::rules(), 
     [ 
      [['InventoryNumber', 'ItemStatus', 'ItemType', 'ItemName', 'PurchaseDate', 'PurchaseValue', 'Amortization', 'LocationId', 'PersonId'], 'required'], 
      [['InventoryNumber', 'LocationId', 'PersonId'], 'integer'], 
      [['PurchaseDate'], 'safe'], 
      [['PurchaseValue', 'Amortization'], 'number'], 
      [['ItemStatus'], 'string', 'max' => 20], 
      [['ItemType'], 'string', 'max' => 30], 
      [['ItemName'], 'string', 'max' => 100], 
      [['InventoryNumber'], 'unique'], 
      [['lock'], 'default', 'value' => '0'], 
      [['lock'], 'mootensai\components\OptimisticLockValidator'] 
     ]); 
    } 
} 

lock字段是自動生成的,我還沒有將他們加入到我的數據庫。

+0

您的數據庫表有'lock'場? – paul

+0

@paul不,它不是,那是自動生成的。 – Eutherpy

+0

然後你可以聲明'lock'爲'safe'。 '[['PurchaseDate','lock'],'safe'],' – paul

回答

1

添加聲明類

class Item extends BaseItem 
{ 
    public $lock; 
..... 
} 
+0

現在我得到*設置未知屬性:app \ models \ Item :: created_at * – Eutherpy

+0

所以繼續相同的方式。如果數據庫表中沒有字段,則應該向該類添加屬性。 – venoel

+0

謝謝,這工作。 – Eutherpy