CakePHP-尝试使用模型SaveMany()构建多个SQL插入

CakePHP-尝试使用模型SaveMany()构建多个SQL插入,cakephp,Cakephp,我正在使用CakePHP2.3.0。我有一个场景,需要在表中插入数据,但我需要根据需要插入数据的用户数量进行多次插入。如果在$userIds数组中有一个值,或在$userIds数组中有多个值,则表中只插入一行。i、 e.如果数组中有两个值,我希望在表中插入两行 我不知道如何使用与$userIds数组不同的值正确构建$message数组。在下面的输出示例中,值5被3覆盖,值3被值4覆盖 当$userIds数组中有2个或多个值时,我通过debug语句确认for循环在数组中每次都正确循环 以下是调试语

我正在使用CakePHP2.3.0。我有一个场景,需要在表中插入数据,但我需要根据需要插入数据的用户数量进行多次插入。如果在
$userIds数组中有一个值,或在
$userIds数组中有多个值,则表中只插入一行。i、 e.如果数组中有两个值,我希望在表中插入两行

我不知道如何使用与
$userIds数组
不同的值正确构建$message数组。在下面的输出示例中,值5被3覆盖,值3被值4覆盖

当$userIds数组中有2个或多个值时,我通过debug语句确认for循环在数组中每次都正确循环

以下是调试语句的输出:

\app\Controller\ActivitiesController.php(第134行)

“5”

\app\Controller\ActivitiesController.php(第134行)

“3”

\app\Controller\ActivitiesController.php(第134行)

‘4’

\app\Controller\ActivitiesController.php(第136行)

以下是我的控制器中的代码片段:

$this->Activity->Message->create();
                
foreach ($userIds as $ids) {
    $message = array(
        'Message' => array(
            'message' => 'The activity has been deleted.',
            'user_id' => $ids                                       
        )
    );
                    
    debug($ids);                        
}
debug($message);
$this->Activity->Message->saveMany($message);

每次都重置数组,而不是向其中添加一个元素。所以试着像这样改变你的命运

$message = array();
foreach ($userIds as $ids) {
    $message[] = array(
                    'Message' => array(
                        'message' => 'The activity has been deleted.',
                        'user_id' => $ids                                       
                    )
                );

    debug($ids);                        
}

太好了,这就是如何做到的。我的代码可以很好地处理这个简单的更改。谢谢祖母绿编码器!
$message = array();
foreach ($userIds as $ids) {
    $message[] = array(
                    'Message' => array(
                        'message' => 'The activity has been deleted.',
                        'user_id' => $ids                                       
                    )
                );

    debug($ids);                        
}