Users
有很多Instruments
,但Instruments
是静态的,所以我想通过引用已定义的常量数组来使用它们,而不是从数据库中检索它们。此阵列需要可由视图和控制器访问。
我也觉得在bootstrap
中填充一堆随机不相关的常量很糟糕。
最好的方法是什么 - 我应该把这个数组放在哪里?
答案 0 :(得分:0)
如果你想使用某种枚举,我猜你正在寻找: http://www.dereuromark.de/2010/06/24/static-enums-or-semihardcoded-attributes/
public static function instruments {}
但是在你的情况下,仪器不应该是静态的,而是带有数据的真实表(仪器属于用户 - 例如具有相同user_id的多行)。枚举只能反过来(在belongsTo关系上)。
或者是否有一个特定的原因它必须是静态的?您的问题的主要问题是如何正确存储数据。哪些工具属于哪些用户?
如果你真的想在用户的一个列中存储这样的数组列表(在我的情况下我不推荐),你可以使用位掩码: http://www.dereuromark.de/2012/02/26/bitmasked-using-bitmasks-in-cakephp/
答案 1 :(得分:0)
使用阵列数据源。它允许您定义静态数据数组并仍然使用关联。