Вам необходимо закодировать полученный array
из нескольких флажков как string
перед сохранением его в базе данных.
В этом случае, вероятно, проще всего implode()
массив, но где данныеявляется более структурированным (т.е. вложенные массивы, ассоциативные массивы), вы также можете использовать что-то вроде json_encode()
.
var_dump($this->data);
/*
array
'Model' =>
array
'type' =>
array
0 => string 'client' (length=6)
1 => string 'vendor' (length=6)
*/
$this->data['Model']['type'] = implode(',', $this->data['Model']['type']);
var_dump($this->data);
/*
array
'Model' =>
array
'type' => string 'client,vendor' (length=13)
*/
Это сделает более трудным (и более медленным) запрос к базе данных, так как вы храните несколькозначения в одном столбце.
$this->Model->find('all', array(
'conditions' => array(
'type LIKE' => '%vendor%'
)
));