Типы, добавляемые в поле из базы данных Agile Toolkit
Я обнаружил Agile Toolkit, и у меня возникли проблемы с поиском addField('field')->type()
, Какие типы могут быть и где я могу их найти? Мне нужно типа "набор", но addField('field')->type('set')
не работает.
Заранее спасибо.
2 ответа
ATK4 распространяется с простыми используемыми базовыми типами, которые ограничены следующим списком:
- строка
- Дата
- Дата и время
- текст
- ИНТ
- реальный
- логический
- пароль
- список
Для set
типа, ближайший будет list
тип.
пример:
$this->addField('month')->type('list')->caption('Month')
->listData(array(
1 => 'Jan',
2 => 'Feb',
3 => 'Mar',
4 => 'Apr',
5 => 'May',
6 => 'Jun',
7 => 'Jul',
8 => 'Aug',
9 => 'Sep',
10 => 'Oct',
11 => 'Nov',
12 => 'Dec'));
Кроме того, существует особый подход к boolean
типы в моделях ATK4 и не соответствуют напрямую тому же логическому типу в MySQL, который просто эквивалентен TINYINT(1).
для того, чтобы использовать тип boolean
для поля таблицы в ATK4 оно должно быть объявлено как enum('Y','N')
и дополненный is_
на его имя поля.
пример:
CREATE TABLE foo (
id INT(11) NOT NULL AUTO_INCREMENT,
:
is_active ENUM('Y','N') NOT NULL DEFAULT 'Y',
:
PRIMARY KEY (id)
) DEFAULT CHARSET=utf8;
с этим MVCGrid, MVCForm и CRUD могут обрабатывать is_active
как специальное поле и отображается как графическая галочка на сетках и кнопка-флажок на формах.
Лучший источник для типов полей, которые я нашел, здесь:
Конечно, я меньше месяца в ATK4 и являюсь хорошей отправной точкой. Примеры, поставляемые с ATK4, полезны, а пример Jobeet содержит полезную информацию. Нырнуть в!