我正在使用 cakephp 2.3.0。我有一个场景,我需要在表中插入数据,但我需要根据需要插入数据的用户数量进行多次插入。如果我在 中有一个值$userIds array
,或者在 中有超过 1 个值$userIds array
,则表中只插入一行。即,如果我在数组中有两个值,我希望在我的表中插入两行。
我不知道如何正确地使用不同的值构建我的 $message 数组$userIds array
。在下面的示例输出中,值 5 被 3 覆盖,而 3 被值 4 覆盖。
当我在 $userIds 数组中有 2 个或更多值时,我通过调试语句确认 for 循环在数组中的每次循环都正确循环。
下面是调试语句的输出:
\app\Controller\ActivitiesController.php(第 134 行)
'5'
\app\Controller\ActivitiesController.php(第 134 行)
'3'
\app\Controller\ActivitiesController.php(第 134 行)
'4'
\app\Controller\ActivitiesController.php(第 136 行)
array(
'Message' => array(
'message' => 'The activity has been deleted.',
'user_id' => '4'
)
)
以下是我的控制器中的代码片段:
$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);