CakePHP: использование константного массива для поля формы - PullRequest
1 голос
/ 12 марта 2012

Users имеют множество Instruments, но Instruments являются статическими, поэтому я хотел бы использовать их, ссылаясь на определенный постоянный массив, а не извлекая их из базы данных.Этот массив должен быть доступен для Views и Controllers .

Я также чувствую, что вставка связки случайных не связанных между собой констант в bootstrap беспорядок

Каков наилучший способ сделать это - куда мне поместить этот массив?

Ответы [ 2 ]

0 голосов
/ 28 марта 2012

Используйте источник данных Array. Он позволяет вам определять статические массивы данных и по-прежнему использовать ассоциации.

0 голосов
/ 12 марта 2012

Если вы хотите использовать какое-нибудь перечисление, я думаю, вы ищете это: http://www.dereuromark.de/2010/06/24/static-enums-or-semihardcoded-attributes/

public static function instruments {}

Но в вашем случае инструменты должны быть не статичными, а реальной таблицей с данными (инструмент принадлежит пользователю- например, несколько строк с одинаковым user_id).Перечисления работают только наоборот (в отношениях с принадлежностью).

Или есть конкретная причина, по которой они должны быть статичными?Основная проблема с вашим вопросом - как правильно хранить данные.Какие инструменты принадлежат каким пользователям?

Если вы действительно хотите хранить такой список массивов в одном столбце пользователя (что я не рекомендую в вашем случае), вы можете использовать битовую маску: http://www.dereuromark.de/2012/02/26/bitmasked-using-bitmasks-in-cakephp/

...