Yii2 模型与活动记录

Yii2 模型与活动记录,yii2,Yii2,我是YII2的新手,并开始自学。最近我在做YII2模型。在学习一些预构建的模型文件时,我注意到一些模型文件是通过yii\base\model进行扩展的,其中一些来自\yii\db\ActiveRecord 所以我想知道什么时候应该使用活动记录,什么时候使用模型,也就是说,我们也可以在模型中进行查询,那么为什么需要活动记录呢。哪些任务可以通过活动记录完成,但不能通过模型完成。简单地说,我想知道模型和活动记录的具体工作。活动记录用于处理数据表和表单,但yii\base\Models仅用于表单。活动记

我是YII2的新手,并开始自学。最近我在做YII2模型。在学习一些预构建的模型文件时,我注意到一些模型文件是通过
yii\base\model
进行扩展的,其中一些来自
\yii\db\ActiveRecord


所以我想知道什么时候应该使用活动记录,什么时候使用模型,也就是说,我们也可以在模型中进行查询,那么为什么需要活动记录呢。哪些任务可以通过活动记录完成,但不能通过模型完成。简单地说,我想知道模型和活动记录的具体工作。

活动记录用于处理数据表和表单,但yii\base\Models仅用于表单。

活动记录是一种使用数据库引擎存储模型数据的
模型

yii\base\Model
是一种不指定数据存储方式的模型

例如,模型可能没有数据表,并且实际数据存储在类代码中而不是数据库中。yii2基本应用程序-用户模型就是一个很好的例子

我将数据存储在类代码中,如下所示:

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',
    ],
];

ActiveRecord只是一个模型(它扩展了模型),准备将其数据映射到DB表行并返回,因此您不必手动完成所有操作。但我们也可以在模型中查询数据,而不使用活动记录,所以为什么需要活动记录?这样更方便。阅读。好的,我现在就知道了,要了解更多信息,请告诉我任何在模型和活动记录中写得不同的查询。所以我能理解确切的区别。到目前为止,我认为两者都有相同的查询方法。所以请举一个例子,你可以把它作为我问题的答案。谢谢。如果您不使用ActiveRecord,您需要使用它,因此只需将其与AR的易用性进行比较。但我们也可以使用active records来保存表单的数据。没有数据库存储的模型并不意味着它应该是表单。可能是什么。它可以是在代码中定义模型数据的静态模型。如