模型与活动记录

时间:2018-07-13 08:47:51

标签: yii2

我是YII2的新手,因此我自己开始学习它。最近,我正在研究YII2模型。在学习一些预先构建的模型文件时,我注意到一些模型文件是通过yii\base\Model扩展的,其中有些来自\yii\db\ActiveRecord
所以我想知道为什么应该使用活动记录以及何时使用模型的原因,即我们也可以在模型中进行查询,所以为什么需要活动记录。哪些任务可以通过活动记录来完成,但不能通过模型​​来完成。我想简单地说一下模型记录和活动记录的具体工作。

2 个答案:

答案 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仅用于表单。