Я только что начал с CakePHP, поэтому обнажился со мной :) ...
У меня есть форма, в которой все поля извлекаются динамически из таблицы базы данных 'FieldNames':
ID | FieldName
--------------
11 | username
22 | password
33 | Address
44 | etc
Это всего лишь пример, форма более сложная.
Я узнал и увидел в php doc, что если поля формы соответствуют 1: 1 с таблицей модели, метод Save является пользовательским, и создается новая строка со всеми значениями в соответствующих клетках.
Но как это работает, если для моего образца формы все значения полей должны быть в несколько строк, по одному в таблице 'FieldValues' со следующей структурой.
ID | FieldId | Value | DataSet
---------------------------------------------
1 | 11 | 'value for username' | 1
2 | 22 | 'value for password' | 1
3 | 33 | 'value for address' | 1
FieldId = FK to Fieldnames.ID
Мне удалось сделать это способом, использующим «классику»
foreach field -> $sql = "sql insert query" -> $this->query( $sql )'
Мне просто интересно, могу ли я использовать «магию» в торте для решения этой задачи.
Второй вопрос: если «волшебство» возможно, как я могу добавить второй параметр и для каждого набора данных установить новое значение DataSet?
Спасибо,
Влад
P.S. Это приложение для построения форм, поэтому поля ДОЛЖНЫ быть динамическими, и я не могу использовать «статическую» реализацию формы (жестко закодировать имена полей в столбцах таблицы 1: 1). Имена и номера полей могут быть разными, поэтому я и использую их для базы данных.