mirror of
https://gitee.com/hyperf/hyperf.git
synced 2024-12-04 20:58:13 +08:00
adjust property name of demo
This commit is contained in:
parent
880e8fd1f7
commit
df7679dcfb
@ -67,21 +67,21 @@ class DbQueryExecutedListener implements ListenerInterface
|
||||
|
||||
## 模型事件
|
||||
|
||||
| 事件名 | 触发实际 | 是否阻断 | 备注 |
|
||||
|:------------:|:----------------:|:--------:|:--------------------------------:|
|
||||
| booting | 模型首次加载前 | 否 | 进程生命周期中只会触发一次 |
|
||||
| booted | 模型首次加载后 | 否 | 进程生命周期中只会触发一次 |
|
||||
| retrieved | 填充数据后 | 否 | 每当模型从DB或缓存查询出来后触发 |
|
||||
| creating | 数据创建时 | 是 | |
|
||||
| created | 数据创建后 | 否 | |
|
||||
| updating | 数据更新时 | 是 | |
|
||||
| updated | 数据更新后 | 否 | |
|
||||
| 事件名 | 触发实际 | 是否阻断 | 备注 |
|
||||
|:------------:|:----------------:|:--------:|:-------------------------- --:|
|
||||
| booting | 模型首次加载前 | 否 | 进程生命周期中只会触发一次 |
|
||||
| booted | 模型首次加载后 | 否 | 进程生命周期中只会触发一次 |
|
||||
| retrieved | 填充数据后 | 否 | 每当模型从DB或缓存查询出来后触发 |
|
||||
| creating | 数据创建时 | 是 | |
|
||||
| created | 数据创建后 | 否 | |
|
||||
| updating | 数据更新时 | 是 | |
|
||||
| updated | 数据更新后 | 否 | |
|
||||
| saving | 数据创建或更新时 | 是 | |
|
||||
| saved | 数据创建或更新后 | 否 | |
|
||||
| restoring | 软删除数据回复时 | 是 | |
|
||||
| restored | 软删除数据回复后 | 否 | |
|
||||
| deleting | 数据删除时 | 是 | |
|
||||
| deleted | 数据删除后 | 否 | |
|
||||
| deleting | 数据删除时 | 是 | |
|
||||
| deleted | 数据删除后 | 否 | |
|
||||
| forceDeleted | 数据强制删除后 | 否 | |
|
||||
|
||||
模型事件使用十分简单,只需要在模型中增加对应的方法即可。例如下方保存数据时,触发 `saving` 事件,主动覆写 `created_at` 字段。
|
||||
|
@ -12,7 +12,7 @@ composer require hyperf/model-cache
|
||||
|
||||
模型缓存的配置在 `databases` 中。示例如下
|
||||
|
||||
| 配置 | 类型 | 默认值 | 备注 |
|
||||
| 配置 | 类型 | 默认值 | 备注 |
|
||||
|:-----------:|:------:|:------------------------------------------------------:|:-----------------------------------:|
|
||||
| handler | string | \Hyperf\DbConnection\Cache\Handler\RedisHandler::class | 无 |
|
||||
| cache_key | string | 'mc:%s:m:%s:%s:%s' | mc:缓存前缀:m:表名:主键KEY:主键值 |
|
||||
@ -54,7 +54,7 @@ return [
|
||||
|
||||
## 使用
|
||||
|
||||
模型缓存的使用十分简单,只需要在对应Model中实现 `Hyperf\ModelCache\CacheableInterface` 接口,当然,框架已经提供了对应实现,只需要引入Trait `Hyperf\ModelCache\Cacheable` 即可。
|
||||
模型缓存的使用十分简单,只需要在对应Model中实现 `Hyperf\ModelCache\CacheableInterface` 接口,当然,框架已经提供了对应实现,只需要引入 `Hyperf\ModelCache\Cacheable` Trait 即可。
|
||||
|
||||
```php
|
||||
<?php
|
||||
@ -63,13 +63,14 @@ declare(strict_types=1);
|
||||
|
||||
namespace App\Models;
|
||||
|
||||
use Hyperf\DbConnection\Model\Model;
|
||||
use Hyperf\ModelCache\Cacheable;
|
||||
use Hyperf\ModelCache\CacheableInterface;
|
||||
|
||||
/**
|
||||
* @property $id
|
||||
* @property $name
|
||||
* @property $sex
|
||||
* @property $gender
|
||||
* @property $created_at
|
||||
* @property $updated_at
|
||||
*/
|
||||
@ -89,9 +90,9 @@ class User extends Model implements CacheableInterface
|
||||
*
|
||||
* @var array
|
||||
*/
|
||||
protected $fillable = ['id', 'name', 'sex', 'created_at', 'updated_at'];
|
||||
protected $fillable = ['id', 'name', 'gender', 'created_at', 'updated_at'];
|
||||
|
||||
protected $casts = ['id' => 'integer', 'sex' => 'integer'];
|
||||
protected $casts = ['id' => 'integer', 'gender' => 'integer'];
|
||||
}
|
||||
|
||||
$model = User::findFromCache($id);
|
||||
@ -106,7 +107,7 @@ $models = User::findManyFromCache($ids);
|
||||
2) "1"
|
||||
3) "name"
|
||||
4) "Hyperf"
|
||||
5) "sex"
|
||||
5) "gender"
|
||||
6) "1"
|
||||
7) "created_at"
|
||||
8) "2018-01-01 00:00:00"
|
||||
|
@ -23,7 +23,7 @@ use Hyperf\DbConnection\Model\Model;
|
||||
/**
|
||||
* @property $id
|
||||
* @property $name
|
||||
* @property $sex
|
||||
* @property $gender
|
||||
* @property $created_at
|
||||
* @property $updated_at
|
||||
*/
|
||||
@ -41,14 +41,14 @@ class User extends Model
|
||||
*
|
||||
* @var array
|
||||
*/
|
||||
protected $fillable = ['id', 'name', 'sex', 'created_at', 'updated_at'];
|
||||
protected $fillable = ['id', 'name', 'gender', 'created_at', 'updated_at'];
|
||||
|
||||
/**
|
||||
* The attributes that should be cast to native types.
|
||||
*
|
||||
* @var array
|
||||
*/
|
||||
protected $casts = ['id' => 'integer', 'sex' => 'integer'];
|
||||
protected $casts = ['id' => 'integer', 'gender' => 'integer'];
|
||||
}
|
||||
```
|
||||
|
||||
|
@ -2,38 +2,30 @@
|
||||
|
||||
## 前言
|
||||
|
||||
> `hyperf/database` 衍生于 `laravel/database`,我们对它进行了一些改造,大部分功能保持了相同。在这里感谢一下 Laravel 开发组,实现了如此强大好用的 ORM 组件。
|
||||
> [hyperf/database](https://github.com/hyperf-cloud/database) 衍生于 [illuminate/database](https://github.com/illuminate/database),我们对它进行了一些改造,大部分功能保持了相同。在这里感谢一下 Laravel 开发组,实现了如此强大好用的 ORM 组件。
|
||||
|
||||
`hyperf/database` 组件是基于 `laravel/database` 衍生出来的组件,我们对它进行了一些改造,从设计上是允许用于其它 PHP-FPM 框架或基于 Swoole 的框架中的,而在 Hyperf 里就需要提一下 `hyperf/db-connection` 组件,它基于 `hyperf/pool` 实现了数据库连接池并对模型进行了新的抽象,以它作为桥梁,Hyperf 才能把数据库组件及事件组件接入进来。
|
||||
|
||||
```php
|
||||
<?php
|
||||
|
||||
$user = User::query()->where('id', 1)->first();
|
||||
|
||||
var_dump($user->toArray());
|
||||
```
|
||||
[hyperf/database](https://github.com/hyperf-cloud/database) 组件是基于 [illuminate/database](https://github.com/illuminate/database) 衍生出来的组件,我们对它进行了一些改造,从设计上是允许用于其它 PHP-FPM 框架或基于 Swoole 的框架中的,而在 Hyperf 里就需要提一下 [hyperf/db-connection](https://github.com/hyperf-cloud/db-connection) 组件,它基于 [hyperf/pool](https://github.com/hyperf-cloud/pool) 实现了数据库连接池并对模型进行了新的抽象,以它作为桥梁,Hyperf 才能把数据库组件及事件组件接入进来。
|
||||
|
||||
## 配置
|
||||
|
||||
默认配置如下,数据库支持多库配置,默认为`default`。
|
||||
默认配置如下,数据库支持多库配置,默认为 `default`。
|
||||
|
||||
| 配置项 | 默认值 | 备注 |
|
||||
|:--------------------:|:---------------:|:------------------:|
|
||||
| driver | 无 | 数据库引擎 |
|
||||
| host | 无 | 数据库地址 |
|
||||
| database | 无 | 数据库默认DB |
|
||||
| username | 无 | 数据库用户名 |
|
||||
| password | null | 数据库密码 |
|
||||
| charset | utf8 | 数据库编码 |
|
||||
| collation | utf8_unicode_ci | 数据库编码 |
|
||||
| prefix | 空字符串 | 数据库模型前缀 |
|
||||
| pool.min_connections | 1 | 连接池内最少连接数 |
|
||||
| pool.max_connections | 10 | 连接池内最大连接数 |
|
||||
| pool.connect_timeout | 10.0 | 连接等待超时时间 |
|
||||
| pool.wait_timeout | 3.0 | 超时时间 |
|
||||
| pool.heartbeat | -1 | 心跳 |
|
||||
| pool.max_idle_time | 60.0 | 最大闲置时间 |
|
||||
| 配置项 | 类型 | 默认值 | 备注 |
|
||||
|:--------------------:|:------:|:---------------:|:------------------:|
|
||||
| driver | string | 无 | 数据库引擎 |
|
||||
| host | string | 无 | 数据库地址 |
|
||||
| database | string | 无 | 数据库默认DB |
|
||||
| username | string | 无 | 数据库用户名 |
|
||||
| password | string | null | 数据库密码 |
|
||||
| charset | string | utf8 | 数据库编码 |
|
||||
| collation | string | utf8_unicode_ci | 数据库编码 |
|
||||
| prefix | string | '' | 数据库模型前缀 |
|
||||
| pool.min_connections | int | 1 | 连接池内最少连接数 |
|
||||
| pool.max_connections | int | 10 | 连接池内最大连接数 |
|
||||
| pool.connect_timeout | float | 10.0 | 连接等待超时时间 |
|
||||
| pool.wait_timeout | float | 3.0 | 超时时间 |
|
||||
| pool.heartbeat | int | -1 | 心跳 |
|
||||
| pool.max_idle_time | float | 60.0 | 最大闲置时间 |
|
||||
|
||||
```php
|
||||
<?php
|
||||
|
Loading…
Reference in New Issue
Block a user