Senin örneğini denedim her hangi bir hata vermedi. Hiç işaretlemezsem de sorun yok [] şeklinde çıktı veriyor. Hepsi işaretliyken ["Pazartesi","Sal\u0131","\u00c7ar\u015famba","Per\u015fembe","Cuma","Cumartesi","Pazar"]
Fakat ben şahsen ben şu şekilde öneririm,
Form kodu;
{{ Form::open(array('url' => url('test'))); }}
{{ Form::label('calismaGunleri', 'Hangi Günler Çalışabilirsiniz') }}: <br>
Pazartesi{{ Form::checkbox('pazartesi', '1'); }}
Salı{{ Form::checkbox('sali', '1'); }}
Çarşamba{{ Form::checkbox('carsamba', '1'); }}
Perşembe{{ Form::checkbox('persembe', '1'); }}
Cuma{{ Form::checkbox('cuma', '1'); }}
Cumartesi{{ Form::checkbox('cumartesi', '1'); }}
Pazar{{ Form::checkbox('pazar', '1'); }}
{{ Form::submit(); }}
işleme kodu
Route::post('/test',function(){
$_hafta['pts'] = Input::get('pazartesi',0);
$_hafta['sal'] = Input::get('sali',0);
$_hafta['car'] = Input::get('carsamba',0);
$_hafta['per'] = Input::get('persembe',0);
$_hafta['cum'] = Input::get('cuma',0);
$_hafta['cts'] = Input::get('cumartesi',0);
$_hafta['pzr'] = Input::get('pazar',0);
$a = json_encode($_hafta);
echo $a;
});
hepsi seçilmiş çıktı
{"pts":"1","sal":"1","car":"1","per":"1","cum":"1","cts":"1","pzr":"1"}
bir kaçı seçilmiş çıktı
{"pts":0,"sal":0,"car":0,"per":"1","cum":0,"cts":"1","pzr":0}
hiç seçilmemiş çıktı
{"pts":0,"sal":0,"car":0,"per":0,"cum":0,"cts":0,"pzr":0}
Form içeriğinde checkbox a value değerini 1 veririz, işaretliyse 1 gelir işareti yoksa öyle bir değer gelmez formdan.
Input::get('ALAN_ADI',0) bu şekilde okursak formdan gelen verileri, Input içerisinde çağırdığın alan varsa değerini ver
yoksa 0 yerine yazdığın varsayılan değeri döndürür.
Örnek:
$dil = Input::get('Language','tr'); //Burada kişi dil seçmişse onun seçtiğini seçmemişse tr'yi bana döndür demiş oluruz. Böylece dil değişkenim bana kesin bir sonuç ile dönecektir.
Dolayısı ile bu şekilde kullanırsan hem json array boş kalmayacak hem de doğru yanlış ayırt ederken null vs yerine 1 ile 0 kontrol edeceksin.
Ayrıca senin örneğinin çıktısı gibi karmaşık olduğundan bir çok karakteri DB ye girerek gereksiz veri depolamaktan kaçınmış olacağız.
Bu verileri düzenlemek istersen de
ilgili json veriyi tekrar object e çevirdikten sonra form elemanına onu da dahil etmek olacak.
$mevcut = json_decode($DB_CALISMA _GUNLERI_VERISI);
{{ Form::checkbox('cuma', '1',$mevcut->cum); }}
Bu kullanım sonrasında da kayıt esnasında işaretli checkler yine işaretli olarak seni karşılar.
Bu formu yönetim paneli gibi bir yerde görmek istersen de yine, json_decode sonrasında
Hangi günler çalışabilirsin?
Pazartes: {{ $mevcut->pzt == 1 ? 'Evet' : 'Hayır'; }}
Salı : {{ $mevcut->sal == 1 ? 'Evet' : 'Hayır'; }}
Çarşamba:{{ $mevcut->car == 1 ? 'Evet' : 'Hayır'; }}
....
...
...
Şeklinde ekrana basarsan;
Pazartesi :
Evet
Salı:
Hayır
şeklinde bir ekran seni karşılayabilir.
Tabi yine de tercih senin.
Umarım faydalı olur, kolay gelsin.