Cakephp在模态中保存多个数据(用户id)

时间:2014-08-05 11:32:26

标签: php cakephp

我想在 TempUser 模式中保存多个用户ID。

问题: 多个用户ID未保存在 TempUser 模式中。

首先获取所有用户ID:

$this->loadModel('User');
pr($this->User->find('all',  array('fields' => 'id')));

获取数组输出

Array
(
    [0] => Array
        (
            [User] => Array
                (
                    [id] => 1
                )
        )

    [1] => Array
        (
            [User] => Array
                (
                    [id] => 2
                )
        )

    [2] => Array
        (
            [User] => Array
                (
                    [id] => 3
                )
        )
)

现在我想将这些用户ID保存在 TempUser 模式中。

//saving users id in **TempUser** modal
$this->loadModel('TempUser');
$this->TempUser->saveAll(); //What should i pass here in saveAll()

如何保存以上数据?

CAKEPHP中是否有任何内置方法可以保存此类数据?

2 个答案:

答案 0 :(得分:1)

saveAll需要一个关联数组。一个例子:

$arr = array(
    array(
        'User' => array(
            'name' => 'John',
            'dob' => '1987-03-04'
        )
    ),
    array(
        'User' => array(
            'name' => 'Jane',
            'dob' => '1989-06-09'
        )
    )
);

$this->User->saveAll($arr);

答案 1 :(得分:1)

试试这个

$cake = array
(
    array
        (
            'User' => array
                (
                    'id' => 1
                )
        ),

    array
        (
            'User' => array
                (
                    'id' => 2
                )
        ),

    array
        (
            'User' => array
                (
                    'id' => 3
                )
        ),
);

$tempUser = array();
foreach ($cake as $value) {
    $tempUser[]['TempUser']['id'] = $value['User']['id'];
}

$this->loadModel('TempUser'); //saving users id in **TempUser** modal
$this->TempUser->saveAll($tempUser); //What should i pass here in saveAll()