Что я хочу сделать, это сохранить мои данные несколько раз. Для того, чтобы сделать это я ставлю этот код в моем контроллере:Save Multiples times Cakephp 3.x
foreach ($tw->statuses as $t) {
$tw->image = $t->user->profile_image_url;
$tw->name = $t->user->name;
$tw->screenname = $t->user->screen_name;
$tw->message = $t->text;
$tw->Fil_id = $FiltreId;
$this->Twes->save($tw);
}
return $this->redirect(['action' => 'index']);
Однако, когда исполнение будет сделано, я нашел только последнюю запись, сохраненную в моей базе данных, а не другие. Может кто-нибудь мне помочь ?
Спасибо за ответ. когда я отлаживаю $ tw, он содержит более одного статуса (не менее 5). Я думаю, проблема заключается в том, что с помощью save(); данные, как вы сказали, сталкиваются, потому что в базе данных я нахожу, что было записано, это последние данные. – Sam
@Sam, тогда проблема также может заключаться в том, что внутри 'foreach' вы мутируете экземпляр, который является' $ tw', и, возможно, именно поэтому сохраняется одна и та же строка, поэтому вы можете попытаться сделать следующее в первой строке внутри 'foreach'? '$ test = clone $ tw;' '$ test-> image = $ t-> user ...' и так далее – Gori