You're changing the $chunk in the loop, but never put it back into the $giveaways.
foreach($giveaways as $key => $chunk){
$chunk = $chunk->toArray();
array_splice($chunk, $randInt, 0, 'ADS');
// put the changed chunck back into the $giveaways
$giveaways[$key] = $chunk;
}
Or you can loop over the $giveaways array this way passing it by reference inside the loop:
foreach($giveaways as $key => &$chunk){ // Note the & before $chunk
$chunk = $chunk->toArray();
array_splice($chunk, $randInt, 0, 'ADS');
}
more info about pass-by-reference: http://php.net/manual/en/language.references.pass.php