gpt4 book ai didi

Yii2 为什么使用状态常量 10 而不是 1?

转载 作者:行者123 更新时间:2023-12-04 18:41:42 24 4
gpt4 key购买 nike

我刚开始使用 Yii 2 框架进行开发,并安装了 officially advanced app .

用户表的迁移脚本将“10”定义为“状态”列的默认值

'status' => $this->smallInteger()->notNull()->defaultValue(10),

我只是想知道他们为什么使用这个?

过去我分别使用 bool 值 (true/false) 0/1(在 mssql 中存储为 smallint 或 bit)。

最佳答案

看看 common\modules\User 类的内容。状态有两个常量:

const STATUS_DELETED = 0;
const STATUS_ACTIVE = 10;

不使用 bool 类型,因为它假定使用多个状态(超过两个),不仅限于已删除和事件(在这种情况下,我们可以简单地使用 bool 列 is_active 或类似的那个)。

010 用作一种边界值,以便将来在其间添加其他常量。也是一种极端的状态,而其他的都是中间状态。

常量的实际值可以变化,更重要的是一旦它被声明并且一些数据已经存在,你不能简单地将它更改为另一个值而不进行数据迁移。

但是如果你对这些值不满意,你可以把它改成01,其他的加成23 以此类推。

您也可以完全删除它并将列设为 bool 值并将其重命名为 is_active 正如我之前所说的。

请记住 - 它只是一个模板,您可以根据需要对其进行更改。

关于Yii2 为什么使用状态常量 10 而不是 1?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33653000/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com