Bir anket uygulaması yapıyorum. Anketi polls veritabanına kaydedip options veritabanına ise soruları array olarak kaydediyorum. Bunu, anketi açarken poll veritanındaki options sütununa array olarak kaydediyorum (poll modelimde options sütunu protected $casts = [ 'options' => 'array',]; olarak kayıtlı). Kayıtın hemen akabinde sütuna kaydettiğim soruları alıp parçalayıp options tablosuna poll_id ile yeni kayıtlar oluşturmak istiyorum. Şu şekilde deniyorum olmuyor;
public function createPoll(Request $request)
{
$cpoll = new Poll;
$cpoll->question = $request->question;
$cpoll->options = $request->options;
$cpoll->thread_id = $request->thread;
$cpoll->user_id = Auth::id();
$cpoll->save();
$ccarp = Poll::find($cpoll);
foreach ($ccarp->options as $key => $value) {
# code...
}
exit();
return back();
}
bu kodda "Invalid argument supplied for foreach()" hatası alıyorum. Nerede yanlış yapıyorum? foreach ile kayıtları aldıktan sonra options tabloma yeni kayıt olarak nasıl eklerim?
options tablom poll_id, name, (name=anket sorusu, poll tablosunun options sütunundan array olarak alıp parçalayacağım sorular)