我是YII2的新手,因此我自己开始学习它。最近,我正在研究YII2模型。在学习一些预先构建的模型文件时,我注意到一些模型文件是通过yii\base\Model
扩展的,其中有些来自\yii\db\ActiveRecord
。
所以我想知道为什么应该使用活动记录以及何时使用模型的原因,即我们也可以在模型中进行查询,所以为什么需要活动记录。哪些任务可以通过活动记录来完成,但不能通过模型来完成。我想简单地说一下模型记录和活动记录的具体工作。
答案 0 :(得分:4)
ActiveRecord是一个Model
,它使用数据库引擎来存储模型数据。
yii\base\Model
是一个不指定数据存储方式的模型。
例如,一个模型可能没有数据表,并且实际数据存储在类代码中而不是数据库中。 yii2-basic应用程序就是一个很好的例子-用户模型here。
我将数据存储在类代码中为:
private static $users = [
'100' => [
'id' => '100',
'username' => 'admin',
'password' => 'admin',
'authKey' => 'test100key',
'accessToken' => '100-token',
],
'101' => [
'id' => '101',
'username' => 'demo',
'password' => 'demo',
'authKey' => 'test101key',
'accessToken' => '101-token',
],
];
答案 1 :(得分:0)
活动记录用于处理数据表和表单,而yii \ base \ Models仅用于表单。