Вы можете использовать цикл for-in
, как показано другими. Тем не менее, вы также должны убедиться, что ключ, который вы получаете, является фактическим свойством объекта и не исходит от прототипа.
Вот фрагмент:
var p = {
"p1": "value1",
"p2": "value2",
"p3": "value3"
};
for (var key in p) {
if (p.hasOwnProperty(key)) {
console.log(key + " -> " + p[key]);
}
}
Если Ваше использование последних 1,2 кодов, проверьте Модель:: saveAll в API
например, Ваше представление могло бы выглядеть примерно так:
echo $form->create('User', array('action' => 'add');
echo $form->input('User.name');
echo $form->input('Address.line_1');
echo $form->input('Contact.tel');
echo $form->end('Save');
Затем в Вашем Пользовательском контроллере добавляют метод, как который у Вас было бы что-то:
...
if($this->User->saveAll($this->data)) {
$this->Session->setFlash('Save Successful');
$this->redirect(array('action' => 'index'));
} else {
$this->Session->setFlash('Please review the form for errors');
}
...
В Вашей модели User Вам будет нужно что-то как:
var $hasOne = array('Address', 'Contact');
Надежда, которая помогает!
http://api.cakephp.org/class_model.html#49f295217028004b5a723caf086a86b1
3 модели: Пользователь, Адрес, Контакт
User hasOne Address, Contact
Address belongsTo User
Contact belongsTo User
в Вашей модели Вы определяете это как это:
class User extends AppModel {
var $name = 'User';
var $hasOne = array('Address','Contact');
..
Для создания этого представления Вам нужно user_id поле ind адреса и таблицы контактов
Для использования этого в представлении Вы просто называете находку на модели User с рекурсивным из одного (и btw, пользовательский контроллер только использует модель User).
$this->User->recursive = 1;
$this->set('user', $this->User->find('first', array('conditions'=>array('id'=>666)));
Это приведет к этому массиву для Вашего представления:
array(
'Use' => array(
'id' => 666,
'name' => 'Alexander'
),
'Address' => array(
'id' => 123,
'zip' => 555
),
'Contact' => array(
'id' => 432,
'phone' => '555-1515'
));
CakePHP позволяет, Вы к легко поддерживаете ссылку между своими моделями с помощью отношений, см. http://book.cakephp.org/view/78/Associations-Linking-Models-Together для полной детали. Затем получая правильного Пользователя, Вы также доберетесь "бесплатно", его адрес и контактная информация.