yiisoft / active-record
Yii ActiveRecord 库
dev-master / 3.0.x-dev
2024-09-16 09:27 UTC
Requires
- php: ^8.1
- ext-json: *
- yiisoft/db: dev-master
Requires (Dev)
- maglnet/composer-require-checker: ^4.2
- phpunit/phpunit: ^10.5
- rector/rector: ^1.0
- roave/infection-static-analysis-plugin: ^1.34
- spatie/phpunit-watcher: ^1.23
- vimeo/psalm: ^5.25
- yiisoft/aliases: ^2.0
- yiisoft/arrays: ^3.1
- yiisoft/cache: ^3.0
- yiisoft/db-sqlite: dev-master
- yiisoft/di: ^1.0
- yiisoft/factory: ^1.2
- yiisoft/json: ^1.0
- yiisoft/middleware-dispatcher: ^5.2
Suggests
- yiisoft/arrays: For \Yiisoft\Arrays\ArrayableInterface support
- yiisoft/db-mssql: For MSSQL database support
- yiisoft/db-mysql: For MySQL database support
- yiisoft/db-oracle: For Oracle database support
- yiisoft/db-pgsql: For PostgreSQL database support
- yiisoft/db-sqlite: For SQLite database support
- yiisoft/factory: For factory support
- yiisoft/middleware-dispatcher: For middleware support
This package is auto-updated.
Last update: 2024-09-16 09:28:02 UTC
README
Yii ActiveRecord
本包提供了 ActiveRecord 库。它在 Yii 框架 中使用,但也应该可以独立使用。
支持的数据库
要求
- PHP 8.1 或更高版本。
安装
可以使用 Composer 安装此包
composer require yiisoft/active-record
注意:您必须安装实现所需的存储库。
示例
composer require yiisoft/db-sqlite
配置容器与数据库连接
将以下代码添加到配置文件中,例如
config/common/di/db.php
:
use Yiisoft\Db\Connection\ConnectionInterface; use Yiisoft\Db\Sqlite\Connection; use Yiisoft\Db\Sqlite\Driver; return [ ConnectionInterface::class => [ 'class' => Connection::class, '__construct()' => [ 'driver' => new Driver($params['yiisoft/db-sqlite']['dsn']), ], ] ];
config/common/params.php
:
return [ 'yiisoft/db-sqlite' => [ 'dsn' => 'sqlite:' . dirname(__DIR__) . '/runtime/yiitest.sq3', ] ]
有关如何配置连接的更多信息,请参阅 Yii 数据库。
config/common/bootstrap.php
:
use Psr\Container\ContainerInterface; use Yiisoft\ActiveRecord\ConnectionProvider; use Yiisoft\Db\Connection\ConnectionInterface; return [ static function (ContainerInterface $container): void { ConnectionProvider::set($container->get(ConnectionInterface::class)); } ];
有关为 Active Record 定义 DB 连接的其他方法,请参阅 定义 DB 连接。
定义您的 Active Record 类
use Yiisoft\ActiveRecord\ActiveRecord; /** * Entity User. * * Database fields: * @property int $id * @property string $username * @property string $email **/ #[\AllowDynamicProperties] final class User extends ActiveRecord { public function getTableName(): string { return '{{%user}}'; } }
有关更多信息,请参阅 创建 Active Record 模型。
用法
现在您可以使用 Active Record
use App\Entity\User; $user = new User(); $user->set('username', 'yiiliveext'); $user->set('email', 'yiiliveext@mail.ru'); $user->save();
使用 ActiveQuery
的用法
use App\Entity\User; use Yiisoft\ActiveRecord\ActiveQuery; $userQuery = new ActiveQuery(User::class); $user = $userQuery->where(['id' => 1])->one(); $username = $user->get('username'); $email = $user->get('email');
文档
如果您需要帮助或有任何问题,Yii 论坛 是一个好去处。您还可以查看其他 Yii 社区资源。
许可证
Yii Active Record 库是免费软件。它根据 BSD 许可证条款发布。有关更多信息,请参阅 LICENSE
。
由 Yii 软件 维护。