У меня есть приложение, которое использует CakePHP поле для хранения значений, как 0, 1, 2.Где определить значение поля для таблиц CakePHP
Таблица:
+----+--------+----------------+
| id | status | title |
+----+--------+----------------+
| 1 | 2 | something new |
| 2 | 1 | nsfw |
| 3 | 1 | a potato |
| 5 | 0 | the real thing |
+----+--------+----------------+
Entity/Массив:
$data = [
0 => 'not published',
1 => 'published',
2 => 'draft',
9 => 'option',
];
// Some public methods to get the data..
Шаблон Форма выпадающий:
+----+---------------+
| id | value |
+----+---------------+
| 0 | not published |
| 1 | published |
| 2 | draft |
| 9 | option |
+----+---------------+
Что я использую в шаблоне:
echo $this->Form->input('status', ['options' => $article->getArticleStatusList()]);
Пример: articles
стол с status
поле. Значения по умолчанию: 0 не публикуются, 1 публикуются и т. Д. Определение их в Объект/статья. Существует массив со значениями по умолчанию, поэтому в файле шаблона я вызываю метод Entity, который использует массив для ввода формы options
.
Время от времени я использовал для этого конфигурационный массив. Это хороший способ выполнить задачу? Он должен храниться в файле ini? Или в разделе Таблица 0 Модельный ряд?
Все работает, но я хочу следовать шаблону MVC. Благодарю.
Хранить в столовой - это хорошая идея, если эти записи также относятся к другим задачам. – urfusion
Извините. Это торт, поэтому вы не можете следовать шаблону MVC, потому что он не был разработан таким образом. Если вы застряли в этой структуре, я бы рекомендовал вместо этого инвестировать некоторое время в изучение шаблона Active Record, –
Считаете ли вы, что Yii2 может быть лучшей альтернативой? Я прочитал, что у него есть Active Record. –