I want if I do update some data but I dont want to update file image, this will keep old data of image.
How to do that? Please help me....
Here is my code for Controller:
namespace App\Http\Controllers\Admin\DataMaster;
use Auth;
use App\Leader;
use Illuminate\Http\Request;
use App\Http\Controllers\Controller;
class ActorLeadController extends Controller
{
public function __construct()
{
$this->middleware('auth:admin');
}
public function index()
{
$leaders = Leader::paginate(4);
return view('admin.data_master.data_users.leader.index', compact('leaders'));
}
public function create()
{
return view('admin.data_master.data_users.leader.create');
}
protected function validator(array $data)
{
return Validator::make($data, [
'name' => 'required|string',
'email' => 'required|string|email|max:255|unique:email',
'phone' => 'required|string|number|max:12|unique:phone',
'job_title' => 'required|string|max:255',
'address' => 'required|string|max:255',
'level' => 'required|string|max:20',
'password' => 'required|string',
// 'photo' => $photo
'photo' => 'require|image|mimes:jpeg,png,jpg|max:2048'
]);
}
public function store(Request $data)
{
$photo = $this->uploadFile($data);
Leader::create([
'name' => $data->name,
'email' => $data->email,
'phone' => $data->phone,
'job_title' => $data->job_title,
'address' => $data->address,
'level' => $data->level,
'password' => bcrypt('12345678'),
'photo' => $photo
]);
return redirect()->route('actorlead.index');
}
//function to handle file upload for store() & update() method.
private function uploadFile(Request $request)
{
if ($request->has('photo')) {
$leaders->photo = $request->get('photo');
}
$pathString = "images/img_lead";
$pubPath = public_path($pathString);
if($request->hasFile('photo')){
$fileName ='isyres' . time() . '-' . $request->file('photo')->getClientOriginalName();
$request->file('photo')->move($pubPath,$fileName);
return asset($pathString.'/'.$fileName);
}
return asset('images/img_lead/image-default.png');
}
public function show($id)
{
if(!$leaders = Leader::find($id)){
return abort(404);
}
return view('admin.data_master.data_users.leader.show', compact('leaders'));
}
public function edit($id)
{
if(!$leaders = Leader::find($id)){
return abort(404);
}
return view('admin.data_master.data_users.leader.edit')->with('leaders', $leaders);
}
//edit data with file instead
public function update(Request $data, $id)
{
$photo = $this->uploadFile($data);
Leader::where('id', $id)
->update([
'name' => $data->name,
'email' => $data->email,
'phone' => $data->phone,
'job_title' => $data->job_title,
'address' => $data->address,
'level' => $data->level,
'photo' => $photo
]);
return redirect()->route('actorlead.index');
}
} ```