php - 数据库常量表与代码中的常量

标签 php mysql constants

永恒的问题。

我有一张 table moments_of_day:

id name
1  Morning
2  Afternoon
3  Evening
4  Night

然后是另一张 table ,餐点,用 moments_of_day_id 引用它。

然后,在我的 PHP 代码中,我想获取早上的所有餐点。

最好的选择是什么?我是否应该在我的 PHP MomentsOfDay 模型中重复常量来执行类似下一个代码的操作?

const MORNING = 1;

我认为重复常量可能很危险。如果将来表格发生变化,我也必须将其添加到 MomentsOfDay 模型中。

你怎么看?

最佳答案

我认为这个问题不一定有确定性的答案,但您应该确定解决方案不只是相信 php 和 mysql 一致。我会在 php 中定义常量,然后使用有关它们的一些真实数据在 mysql 中查找记录。如果您在 php 中断言 const MORNING = 1;,那么 1 将成为您的数据模型的真实部分,并且应该存储在 mysql 中。您仍然可以在 mysql 中创建 AUTO_INC 值,但这些值应被视为实现工件而不是应用程序数据。我不认为这个问题与模型的其他部分(例如,用户、权限、时间表等)有任何不同。您正在用 PHP 创建数据模型并使用 mysql 使其持久化。您将模型数据发送到 mysql 以保存它,然后使用相同的模型数据来检索它。

关于php - 数据库常量表与代码中的常量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29854675/

相关文章:

php - 线上线下同步

php - 如何使用 Windows 任务计划程序运行 PHP 脚本

c++ - 丢弃限定符访问类中 map 的 vector 时出错?

c++ - 无法将此指针从 const Class<T> 转换为 Class<T>&

javascript - WebRTC远程录音解决方案

PHP/MySQL。无法更新数据: Query was empty

php - 如何在 MySQL 中显示重复记录并使用 PHP 合并记录?

mysql - 创建bean时出错

php - 显示数据库中的重复项数 [SQL]

c++ - 仅为特定条件重置变量值,为其他一切设置固定值