我目前有一个名为UserLevels的模型,它定义了一些用户级别(用户,高级用户,管理员等)以及它们的一些属性(数字,描述,颜色等).
我已经决定我宁愿对此进行硬编码,并且能够在名称和描述上使用__()方法.
如何向模型提供数据以使其不使用数据库?有没有更好的方法来解决这个问题?
谢谢.
更新:没有数据库的模型中的完整多字段记录
在作者使他的目标更加明确之后,这应该是解决方案:
不要把标题弄错,首先阅读,答案也确实解释了这里的解决方案.
单字段,枚举类数据的解决方案:
如果你不使用数据库表并且条目有限,那么使用常量总是好的,因为你不能在不导致错误的情况下做错误而且UserLevel :: USER比某个随机的'user'字符串更清晰这可能意味着什么.
class UserLevel extends AppModel {
public $useTable = false;
const ADMIN = 'admin';
const USER = 'user';
/* ... */
public function getUserLevels() {
return [
UserLevel::ADMIN => __('Admin'),
/* ... */
];
}
}
Run Code Online (Sandbox Code Playgroud)