私はcakephp 2.3.0を使用しています。テーブルにデータを挿入する必要があるシナリオがありますが、挿入されたデータを必要とするユーザーの数に基づいて、複数の挿入を行う必要があります。に 1 つの値$userIds array
、または に複数の値がある場合$userIds array
、テーブルには 1 行だけが挿入されます。つまり、配列に 2 つの値がある場合、テーブルに 2 つの行が挿入されると予想されます。
とは異なる値で $message 配列を正しく構築する方法がわかりません$userIds array
。以下の出力例では、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行目)
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);