Postingan lainnya
Update multiple data laravel dari ajax
Mas / mbak saya ingin bertanya
Flow : - Ada data yg ingin diupdate melalui dynamic form (field bisa ditambah) - ketika btn update di klik, akan passing data melalui ajax ke controller - controller akan melakukan fungsi update
Problem Ditemukan error method save() does not exist
View
<form id="editdatas">
<input type="hidden" name="identifikasi[]" id="identifikasi" value="">
<input type="hidden" name="idsubartikelasset[]" id="identifikasiaset" value="">
<input type="text" name="alt_sub_artikel[]" id="alt_sub_artikel_0" placeholder="Alt" class="col-sm-12 form-control" value="">
<input type="text" name="subarticle_title[]" id="subarticle_title_ind_0" placeholder="Title Ind" class="col-sm-12 form-control" value="">
<input type="text" name="subarticle_title_en[]" id="subarticle_title_en_0" placeholder="Title Eng" class="col-sm-12 form-control" value="">
<button type="submit" class="btn btn-default save-edit">Edit</button>
</form>
Ajax :
$('#editdatas').on('submit',function(e){
e.preventDefault();
$.ajax({
url: '{{ route("admin.page.apartment-review.update-ajax") }}',
type:'POST',
data: $(this).serializeArray(),
success: function(data) {
console.log(data);
}
});
});
Controller :
public function updateArtikel(Request $request){
if( $request->ajax() ) {
try{
$input = $request->all();
$id = $input['identifikasi'][0];
// dd($id);
foreach($input['subarticle_title'] as $key => $value) {
$data = ApartmentWikiArticle::find($input['identifikasi'][$key])->get();
$id = $input['identifikasi'][$key];
$title = $input['subarticle_title'][$key];
$title_en = $input['subarticle_title_en'][$key];
$content = $input['subarticle'][$key];
$content_en = $input['subarticle_en'][$key];
$data->title = $title;
$data->title_en = $title_en;
$data->content = $content;
$data->content_en = $content_en;
$data->save();
}
echo json_encode($data);
}
catch(\Throwable $th) {
echo "0";
}
apakah ada yang salah dengan foreach saya? even sudah mengikuti standar dari dokumentasi laravel namun tetap error save doesn't exist
Tanggapan
Kresna coba kalau bertanya tampilkan kode yang relevan saja dengan pertanyaan, jangan copypaste semuanya, karena yang mau bantu akan susah bacanya, coba bagian seperti div, col dll, yang tidak berhubungan dihapus dan bagian yg simple saja yang ditinggalkan
2 Jawaban:
Jawaban Terpilih
Coba Ganti variable $data dalam foreach jd seperti ini <pre> $data = ApartmentWikiArticle::find($input['identifikasi'][$key]); // Hapus ' ->get() ' // Atau seperti ini $data = ApartmentWikiArticle::where('id', $input['identifikasi'][$key])->first(); </pre>
solve gan kalau boleh tau kenapa y gan? kan y sintaks nya sm saja gan mohon pencerahan
Tanggapan
Semua sdh ada di dokumentasinya Laravel, silahkan cek disini https://laravel.com/docs/5.7/eloquent#retrieving-single-models