I have two tables image_rekap
and rekaps
how to update image and delete image.
Controller:
public function index(Request $request) {
if($request->has('search')) {
$data = rekap::where('customer', 'LIKE', '%' .$request->search. '%')->paginate(5);
} else {
$data = rekap::paginate(5);
}
return view('rekap')->with([
'data' => $data,
]);
}
public function insert_rekap(Request $request){
// dd($request->all());
$data = $request->validate([
'customer'=>'required',
'vessel'=>'required',
'scopejob'=>'required',
'pergantian_sparepart'=>'required',
'teknisi'=>'required',
'tahun'=>'required',
'keterangan'=>'required'
]);
$new_data= rekap::create($data);
if($request->has('images')){
foreach($request->file('images')as $image){
$imageName = $data['customer'].'-image-'.time().rand(1,1000).'.'.$image->extension();
$image->move(public_path('data_images'),$imageName);
Image_rekap::create([
'rekap_id'=>$new_data->id,
'image'=>$imageName
]);
}
}
return redirect()->route('rekap')->with('success','Data Berhasil Ditambahkan');
}
public function images($id){
$data = rekap::find($id);
if(!$data) abort(404);
$images = $data->images;
return view ('image_rekap',compact('data','images'));
}
public function update_rekap(Request $request,$id){
$data = rekap::find($id);
$data->update($request->all());
return redirect()->route('rekap')->with('success','Data Berhasil di Update');
}
public function delete_rekap($id){
$data = rekap::find($id);
$data->delete();
return redirect()->route('rekap')->with('success','Data berhasil dihapus');
}
and I have 2 model classes:
Model rekap
:
class rekap extends Model {
use HasFactory;
protected $guarded = [];
public function images() {
return $this->hasMany(Image_rekap::class);
}
}
Model class image_rekap
:
class Image_rekap extends Model
{
use HasFactory;
protected $guarded = [];
}
rekap
item? What do you mean by multiple tables? Your images are storing in only one tableid
on your update request and on just update the record image path.