我正在尝试使用Yii将项目插入我的数据库,但是我收到以下错误:
中的未知属性 - yii \ base \ UnknownPropertyException
获取未知属性:app \ models \ Item :: lock
... / _ protected / vendor / 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 :(得分:2)
向您的班级添加声明
class Item extends BaseItem
{
public $lock;
.....
}