Возможно, вы захотите взглянуть на KeyvalueBehavior в плагине CakeDC Utils в качестве отправной точки.
Извлечь плагин в Plugin/Utils/
и создать таблицу базы данныхВызывается preferences
со следующими полями: user_id
, field
, value
<?php
class Preference extends AppModel {
$actsAs = array('Utils.Keyvalue');
}
Затем вы можете сохранять и извлекать предпочтения следующим образом (при условии User hasMany Preferences
):
$this->User->Preference->saveSection($this->Auth->user('id'), array(
'Preference' => array(
'dob' => 'mm/dd/yyyy',
'gender' => 'm|f|n',
'url' => 'http://www.example.com',
)
), 'Profile');
$this->User->Preference->getSection($this->Auth->user('id'), 'Profile');