LARAVEL: SELECT2 DATATABLES MODEL JOINING TABLES SINGLE IMG JQUERY FORM VALIDATION [[ Ultimate Crud ]]
<!-- index.blade.php [ Views ] -->
<!doctype html>
<html lang="en">
{{-- name, email, phone, address, education select2, qualification, profile_img --}}
<head>
<!-- Required meta tags -->
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<!-- Bootstrap CSS -->
<link href="https://cdn.jsdelivr.net/npm/bootstrap@5.0.2/dist/css/bootstrap.min.css" rel="stylesheet" integrity="sha384-EVSTQN3/azprG1Anm3QDgpJLIm9Nao0Yz1ztcQTwFspd3yD65VohhpuuCOmLASjC" crossorigin="anonymous">
<script src="https://unpkg.com/sweetalert/dist/sweetalert.min.js"></script>
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.2.0/css/all.min.css" integrity="sha512-xh6O/CkQoPOWDdYTDqeRdPCVd1SpvCA9XXcUnZS2FmJNp1coAFzvtCN9BmamE+4aHK8yyUHUSCcJHgXloTyT2A==" crossorigin="anonymous" referrerpolicy="no-referrer" />
<title>DATE: 26/9/22</title>
<!-- -->
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.6.0/jquery.min.js"></script>
<link href="https://cdn.jsdelivr.net/npm/select2@4.1.0-rc.0/dist/css/select2.min.css" rel="stylesheet" />
<script src="https://cdn.jsdelivr.net/npm/select2@4.1.0-rc.0/dist/js/select2.min.js"></script>
<!-- -->
<!-- -->
<link rel="stylesheet" type="text/css" href="https://cdn.datatables.net/1.12.1/css/jquery.dataTables.css">
<script type="text/javascript" charset="utf8" src="https://cdn.datatables.net/1.12.1/js/jquery.dataTables.js"></script>
<!-- -->
</head>
<body style=" font-family: 'Julius Sans One', sans-serif; background:linear-gradient(to right,#e4bcf39f,#c4fdd585); background-size: 100vw 100vh; background-repeat: no-repeat; background-attachment: fixed; ">
{{-- SESSION MESSAGES --}}
@if (Session::has('message'))
<div class="alert alert-info alert-dismissible fade show" role="alert">
<strong> {{ Session::get('message') }}</strong>
<button type="button" class="btn-close" data-bs-dismiss="alert" aria-label="Close"></button>
</div>
@endif
@if($errors->any())
<div class="alert alert-warning alert-dismissible fade show" role="alert">
<nav class="navbar navbar-expand-sm sticky-top">
@foreach($errors->all() as $err)
<ul class="navbar-nav">
<li class="nav-item p-1"> <i class="fa-solid fa-oil-well"> </i> {{$err}} </li>
</ul>
@endforeach
<button type="button" class="btn-close" data-bs-dismiss="alert" aria-label="Close"></button>
</nav>
</div>
@endif
{{-- name, email, phone, address, education select2, qualification, profile_img --}}
<div class="row">
<div class="col-md-8 mx-auto mt-2 mb-5 ">
<div class="p-3 nav justify-content-end ">
<button type="button " class="btn btn-outline-success " data-bs-toggle="modal" data-bs-target="#recordsModal">
ADD RECORDS
</button>
<button type="button " class="btn btn-outline-primary mx-3 " data-bs-toggle="modal" data-bs-target="#eduModal">
ADD EDUCATION
</button>
</div>
{{-- ADD --}}
<!-- Button trigger modal -->
{{-- @if($errors->any())
@foreach($errors->all() as $err)
<li>{{$err}}</li>
@endforeach
@endif --}}
<!-- Modal -->
<div class="modal fade" id="recordsModal" tabindex="-1" aria-labelledby="exampleModalLabel" aria-hidden="true">
<div class="modal-dialog">
<div class="modal-content">
<div class="modal-header">
<h5 class="modal-title" id="exampleModalLabel">ADD RECORDS</h5>
<button type="button" class="btn-close" data-bs-dismiss="modal" aria-label="Close"></button>
</div>
<div class="modal-body">
{{-- form --}}
<form method="post" action="/forminsertaction" enctype="multipart/form-data" id="basic-form">
@csrf
<div class="mb-2 form-group">
<label for="" class="form-label">Name</label>
<input type="text" class="input-sm form-control" id="name" name="name">
<span class="text-danger">@error('name'){{$message}} @enderror </span>
</div>
<div class="mb-2 form-group">
<label for="" class="form-label">Email address</label>
<input type="email" name="email" id="email" class="form-control">
<span class="text-danger">@error('email'){{$message}} @enderror </span>
</div>
<div class="mb-2 form-group">
<label class="form-label">Phone</label>
<input type="number" name="phone" id="phone" class="form-control">
<span class="text-danger">@error('phone'){{$message}} @enderror </span>
</div>
<div class="mb-2 form-group">
<label class="form-label">Address</label>
<input type="text" name="address" id="address" class="form-control">
<span class="text-danger">@error('address'){{$message}} @enderror </span>
</div>
<div class="mb-2 form-group" id="myModal" >
<label class="form-label">Education</label>
<select name="edu[]" id="mySelect2" class="form-control" multiple="multiple" style="width:30vw !important;">
<option>Select</option>
@foreach($data as $i)
<option value="{{$i->id}}">{{$i->title}}</option>
@endforeach
</select>
<span class="text-danger">@error('edu_id'){{$message}} @enderror </span>
</div>
<script>
$(document).ready(function() {
// $('.js-example-basic-multiple').select2();
} );
</script>
<script>
$('#mySelect2').select2({
dropdownParent: $('#myModal')
});
</script>
<div class="my-2 form-group">
<label class="form-label">Add Image</label>
<input type="file" name="imgx" id="imgx">
<span class="text-danger">@error('imgx'){{$message}} @enderror </span>
</div>
<div class="mb-2 modal-footer">
<button type="submit" class="btn btn-primary">Submit</button>
<button type="reset" class="btn btn-primary">Reset</button>
<button type="button" class="btn btn-secondary" data-bs-dismiss="modal">Close</button>
</div>
</form>
</div>
{{-- <div class="modal-footer"> </div> --}}
<style>
label.error {
color: red;
font-size: 1rem;
display: block;
margin-top: 5px;
}
label.error.fail-alert {
border: 2px solid red;
border-radius: 4px;
line-height: 1;
padding: 2px 0 6px 6px;
background: #ffe6eb;
}
input.valid.success-alert {
border: 2px solid #4CAF50;
color: green;
}
</style>
<script src="http://ajax.aspnetcdn.com/ajax/jquery.validate/1.11.1/jquery.validate.min.js"></script>
<script src="https://cdn.jsdelivr.net/jquery.validation/1.16.0/additional-methods.min.js"></script>
<script>
$(document).ready(function() {
$("#basic-form").validate({
errorClass: "error fail-alert",
validClass: "valid success-alert",
rules: {
name : {
required: true,
minlength: 3
},
phone: {
required: true,
number: true,
max: 9999999999,
min: 1000000000
},
email: {
required: true,
email: true
},
address: {
required: true,
},
imgx: {
required: true,
extension: "jpg|jpeg|png|ico|bmp"
},
},
messages : {
name: {
minlength: "Name should be at least 3 characters"
},
phone: {
required: "Please enter your phone no",
number: "Please enter your phone number as a numerical value",
min: "You must be at least 10 digits",
max: "You must be not greater than 10 digits",
},
email: {
email: "The email should be in the format: abc@domain.tld"
},
address: {
required: "Please fill address",
},
imgx: {
required: "Please upload file.",
extension: "Please upload file in these format only (jpg, jpeg, png, ico, bmp)."
}
}
});
$("#basic-form2").validate({
errorClass: "error fail-alert",
validClass: "valid success-alert",
rules: {
title : {
required: true,
minlength: 1
},
},
messages : {
title: {
minlength: "Language should be at least 1 characters"
}
}
});
});
</script>
</div>
</div>
</div>
{{-- edu model --}}
<!-- Modal -->
<div class="modal fade" id="eduModal" tabindex="-1" aria-labelledby="eduModalLabel" aria-hidden="true">
<div class="modal-dialog">
<div class="modal-content">
<div class="modal-header">
<h5 class="modal-title" id="exampleModalLabel">ADD EDUCATIONS</h5>
<button type="button" class="btn-close" data-bs-dismiss="modal" aria-label="Close"></button>
</div>
<div class="modal-body">
<form action="/eduadding" method="POST" id="basic-form2">
@csrf
<div class="input-group">
<input type="text" name="title" id="title" class="form-control" placeholder="Add education here">
<button type="submit" class="input-group-text btn btn-info" >Add </button>
</div>
</form>
</div>
<div class="modal-footer">
<button type="button" class="btn btn-secondary" data-bs-dismiss="modal">Close</button>
</div>
</div>
</div>
</div>
{{-- DATA TABLES --}}
<table class="table align-middle table-hover table-sm" id="table_id">
<thead>
<tr>
<th scope="col">#</th>
<th scope="col">Name</th>
<th scope="col">Email</th>
<th scope="col">Phone</th>
<th scope="col">Address</th>
<th scope="col">Education</th>
<th scope="col">Image</th>
<th scope="col">Action</th>
</tr>
</thead>
<tbody>
<?php $c=0; ?>
@foreach($benall as $i)
<tr>
<td scope="col"><?php echo ++$c; ?></td>
<td scope="col">{{ $i['name']}}</td>
<td scope="col">{{$i['email']}}</td>
<td scope="col">{{$i['phone']}}</td>
<td scope="col">{{$i['address']}}</td>
<td scope="col">{{$i['education']}}</td>
<td scope="col"> <img src="{{$i['image']}}" height="35vh" alt=""> </td>
<td scope="col">
<a href="{{route('editz',['id'=>$i['id']])}} " class="btn btn-outline-warning"><i class="fa-solid fa-user-pen"></i></a>
<a href="/delete/{{$i['id']}}" class="btn btn-outline-danger"><i class="fa-solid fa-trash-can"></i></a>
</td>
</tr>
@endforeach
</tbody>
</table>
<script>
$(document).ready( function () {
$('#table_id').DataTable();
} );
</script>
</div>
</div>
<script src = "https://cdn.jsdelivr.net/npm/bootstrap@5.0.2/dist/js/bootstrap.bundle.min.js" integrity = "sha384-MrcW6ZMFYlzcLA8Nl+NtUVF0sA7MsXsP1UyJoMp4YLEuNSfAP+JcXn/tWtIaxVXM" crossorigin = "anonymous"></script>
</body>
</html>
Web.php [ Route]
<?php
use Illuminate\Support\Facades\Route;
use App\Http\Controllers\HeatBlastController;
Route::get('/',[HeatBlastController::class,'index'])->name('index');
Route::post('/eduadding',[HeatBlastController::class,'eduadd'])->name('eduadding');
Route::post('/forminsertaction',[HeatBlastController::class,'forminsertaction'])->name('forminsertaction');
Route::get('/delete/{id}',[HeatBlastController::class,'del'])->name('delete');
Route::get('/edit/{id}',[HeatBlastController::class,'editz'])->name('editz');
Route::post('/formeditaction',[HeatBlastController::class,'formeditaction'])->name('formeditaction');
// forminsertaction
HeatBlastController.php [ Controller ]
<?php
namespace App\Http\Controllers;
use App\Models\HeatBlast;
use App\Models\education;
use Illuminate\Http\Request;
use DB;
use Session;
use Illuminate\Support\Arr;
class HeatBlastController extends Controller
{
public function eduadd(Request $req){
// $ctmr = DB::table('education')->Insert(['title' => $req->title],);
$req->validate([
'title' => 'required',
]);
$ctmr = new education;
$ctmr->title = $req->title;
$ctmr->save();
Session::flash('message', "Education added Successfully");
return redirect('/');
}
public function forminsertaction(Request $req){
// name, email, phone, address, education select2, qualification, profile_img
$req->validate([
'name' => 'required',
'email' => 'required |unique:heat_blasts',
'phone' => 'required | min:10 |max:10 |unique:heat_blasts',
'address' => 'required',
'edu' => 'required',
]);
$ben = new HeatBlast;
$ben->name = $req->name;
$ben->email = $req->email;
$ben->phone = $req->phone;
$ben->address = $req->address;
$ben->edu_id = implode(', ',$req->edu);
if ($req->hasFile('imgx')) {
$file_type = $req->file('imgx')->extension();
$file_path = $req->file('imgx')->storeAs('images/customer', time() . '.' . $file_type, 'public');
$req->file('imgx')->move(public_path('images/customer'), time() . '.' . $file_type);
}
$ben->image=$file_path;
Session::flash('message', "Records are Added Successfully");
$ben->save();
return redirect('/');
}
public function index()
{
$eduall = DB::table('education')->get();
$benall = DB::table('heat_blasts')->get();
$multipledata=array();
$temp=array();
foreach($benall as $ben){
// name, email, phone, address, education select2, qualification, profile_img
// $array = Arr::add(['name' => 'Desk'], 'price', 100);
$temp['id']=$ben->id;
$temp['name']=$ben->name;
$temp['email']=$ben->email;
$temp['phone']=$ben->phone;
$temp['address']=$ben->address;
$temp['image']=$ben->image;
$flag = explode(', ',$ben->edu_id);
$demo=array();
foreach($flag as $a){
$ctmr = education::find($a);
array_push($demo,$ctmr->title);
}
$temp['education']= implode(', ', $demo);
array_push($multipledata, $temp);
}
return view('index',['data'=>$eduall,'benall'=>$multipledata]);
}
public function del($id)
{
$bendel = HeatBlast::find($id);
unlink($bendel->image);
$bendel->delete();
Session::flash('message', " Records Are Delete Successfully");
return redirect('/');
}
public function editz($id){
$ben = HeatBlast::find($id);
$eduall = education::all();
$data2 = education::select("*")->whereIn('id', explode(', ',$ben->edu_id))->get();
return view('editpage',['data'=>$ben, 'eduall'=>$eduall,'data2'=>$data2]);
}
public function formeditaction(Request $req){
$req->validate([
'name' => 'required',
'email' => 'required |unique:heat_blasts',
'phone' => 'required | min:10 |max:10 |unique:heat_blasts',
'address' => 'required',
]);
if ($req->hasFile('imgx')) {
if($req->image !='' )
unlink($req->image);
$file_type = $req->file('imgx')->extension();
$file_path = $req->file('imgx')->storeAs('images/customer', time() . '.' . $file_type, 'public');
$req->file('imgx')->move(public_path('images/customer'), time() . '.' . $file_type);
}else{
$file_path=$req->old_img;
}
$ctmr = DB::table('heat_blasts')
->where('id', $req->eid)
->update([
'name' => $req->name,
'email' => $req->email,
'phone' => $req->phone,
'address' => $req->address,
'edu_id' => implode(', ',$req->edu),
'image' => $file_path,
]);
Session::flash('message', "Records Updated Successfully");
return redirect('/');
}
}
editpage.blade.php [Views]
<!doctype html>
<html lang="en">
{{-- name, email, phone, address, education select2, qualification, profile_img --}}
<head>
<!-- Required meta tags -->
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<!-- Bootstrap CSS -->
<link href="https://cdn.jsdelivr.net/npm/bootstrap@5.0.2/dist/css/bootstrap.min.css" rel="stylesheet" integrity="sha384-EVSTQN3/azprG1Anm3QDgpJLIm9Nao0Yz1ztcQTwFspd3yD65VohhpuuCOmLASjC" crossorigin="anonymous">
<script src="https://unpkg.com/sweetalert/dist/sweetalert.min.js"></script>
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.2.0/css/all.min.css" integrity="sha512-xh6O/CkQoPOWDdYTDqeRdPCVd1SpvCA9XXcUnZS2FmJNp1coAFzvtCN9BmamE+4aHK8yyUHUSCcJHgXloTyT2A==" crossorigin="anonymous" referrerpolicy="no-referrer" />
<title>DATE: 26/9/22</title>
<!-- -->
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.6.0/jquery.min.js"></script>
<link href="https://cdn.jsdelivr.net/npm/select2@4.1.0-rc.0/dist/css/select2.min.css" rel="stylesheet" />
<script src="https://cdn.jsdelivr.net/npm/select2@4.1.0-rc.0/dist/js/select2.min.js"></script>
<!-- -->
<!-- -->
<link rel="stylesheet" type="text/css" href="https://cdn.datatables.net/1.12.1/css/jquery.dataTables.css">
<script type="text/javascript" charset="utf8" src="https://cdn.datatables.net/1.12.1/js/jquery.dataTables.js"></script>
<!-- -->
</head>
<body style="background:linear-gradient(to right, rgb(221, 168, 210) , rgb(11, 71, 99))">
<div class="row">
<div class="col-4 mx-auto my-4 " >
<div class="card mb-3 p-2" style="max-width: 540px; border-radius: 5px 50px; ">
<div class="row g-0">
<div class="col-md-4">
{{-- <img src="../{{$data->image}}" alt="" height="140px" width="200px"> --}}
<label for="" class="p-3 fw-bold">Previous Image:</label>
<img src="../{{$data->image}}" class="img-fluid rounded-start p-2" alt="...">
{{-- <label for="" class="p-3 fst-italic">{{$data->image}}</label> --}}
</div>
<div class="col-md-8">
<div class="card-body">
{{-- form --}}
<form method="post" id="basic-form2" action="/formeditaction" enctype="multipart/form-data">
@csrf
<input type="hidden" name="eid" value="{{$data->id}}">
<input type="hidden" name="old_img" value="{{$data->image}}">
<div class="mb-2 form-group">
<label for="" class="form-label fw-bold">Name</label>
<input type="text" class="input-sm form-control" name="name" id="name" value="{{$data->name}}">
<span class="text-danger">@error('name'){{$message}} @enderror </span>
</div>
<div class="mb-2 form-group">
<label for="" class="form-label fw-bold">Email address</label>
<input type="email" name="email" id="email" class="form-control" value="{{$data->email}}">
<span class="text-danger">@error('email'){{$message}} @enderror </span>
</div>
<div class="mb-2 form-group">
<label class="form-label fw-bold">Phone</label>
<input type="number" name="phone" id="phone" class="form-control" value="{{$data->phone}}">
<span class="text-danger">@error('phone'){{$message}} @enderror </span>
</div>
<div class="mb-2 form-group">
<label class="form-label fw-bold">Address</label>
<input type="text" name="address" id="address" class="form-control" value="{{$data->address}}">
<span class="text-danger">@error('address'){{$message}} @enderror </span>
</div>
<div class="mb-2 form-group" id="myModal" >
<label class="form-label fw-bold">Education</label>
<select name="edu[]" id="mySelect2" class="form-control" multiple="multiple" >
<option>Select</option>
@foreach($eduall as $edualex)
<option value="{{ $edualex->id}}"@foreach($data2 as $eduone) @if($eduone->id==$edualex->id) selected @endif @endforeach> {{$edualex->title}} </option>
@endforeach
</select>
<span class="text-danger">@error('edu_id'){{$message}} @enderror </span>
</div>
<script>
$(document).ready(function() {
// $('.js-example-basic-multiple').select2();
} );
</script>
<script>
$('#mySelect2').select2({
dropdownParent: $('#myModal')
});
</script>
<div class="my-2 form-group">
<label class="form-label fw-bold">Add Image</label>
<input type="file" name="imgx">
</div>
<div class="mb-2 modal-footer">
<button type="submit" class="btn btn-primary">Submit</button>
<a href="/" class="btn btn-secondary" data-bs-dismiss="modal">Back</a>
</div>
</form>
<style>
label.error {
color: red;
font-size: 1rem;
display: block;
margin-top: 5px;
}
label.error.fail-alert {
border: 2px solid red;
border-radius: 4px;
line-height: 1;
padding: 2px 0 6px 6px;
background: #ffe6eb;
}
input.valid.success-alert {
border: 2px solid #4CAF50;
color: green;
}
</style>
<script src="http://ajax.aspnetcdn.com/ajax/jquery.validate/1.11.1/jquery.validate.min.js"></script>
<script src="https://cdn.jsdelivr.net/jquery.validation/1.16.0/additional-methods.min.js"></script>
<script>
$(document).ready(function() {
$("#basic-form2").validate({
errorClass: "error fail-alert",
validClass: "valid success-alert",
rules: {
name : {
required: true,
minlength: 3
},
phone: {
required: true,
number: true,
max: 9999999999,
min: 1000000000
},
email: {
required: true,
email: true
},
address: {
required: true,
},
imgx: {
extension: "jpg|jpeg|png|ico|bmp"
},
},
messages : {
name: {
minlength: "Name should be at least 3 characters"
},
phone: {
required: "Please enter your phone no",
number: "Please enter your phone number as a numerical value",
min: "You must be at least 10 digits",
max: "You must be not greater than 10 digits",
},
email: {
email: "The email should be in the format: abc@domain.tld"
},
address: {
required: "Please fill address",
},
imgx: {
extension: "Please upload file in these format only (jpg, jpeg, png, ico, bmp)."
}
}
});
});
</script>
</div>
</div>
</div>
</div>
</div>
</div>
<script src = "https://cdn.jsdelivr.net/npm/bootstrap@5.0.2/dist/js/bootstrap.bundle.min.js" integrity = "sha384-MrcW6ZMFYlzcLA8Nl+NtUVF0sA7MsXsP1UyJoMp4YLEuNSfAP+JcXn/tWtIaxVXM" crossorigin = "anonymous"></script>
</body>
</html>
education.php [ migration table ]
<?php
use Illuminate\Database\Migrations\Migration;
use Illuminate\Database\Schema\Blueprint;
use Illuminate\Support\Facades\Schema;
return new class extends Migration
{
public function up()
{
Schema::create('education', function (Blueprint $table) {
$table->id();
$table->string('title')->nullable();
$table->timestamps();
});
}
public function down()
{
Schema::dropIfExists('education');
}
};
heat_blast [ migration table ]
<?php
use Illuminate\Database\Migrations\Migration;
use Illuminate\Database\Schema\Blueprint;
use Illuminate\Support\Facades\Schema;
return new class extends Migration
{
public function up()
{
Schema::create('heat_blasts', function (Blueprint $table) {
$table->id();
// name, email, phone, address, education select2, image
$table->string('name')->nullable();
$table->string('email')->nullable();
$table->bigInteger('phone')->nullable();
$table->string('address')->nullable();
$table->string('edu_id')->nullable();
$table->string('image')->nullable();
$table->timestamps();
});
}
public function down()
{
Schema::dropIfExists('heat_blasts');
}
};
DB: ultimatecrud [ maintain it in .env file ]
-----------------------------------------------------------------------------------------------------------------------------
Another controller for some different methods apply: For different functions and views
<?php
namespace App\Http\Controllers;
use Illuminate\Http\Request;
use App\Models\Fincrud;
use Illuminate\Support\Facades\DB;
class FincrudController extends Controller
{
//
public function fincrud_create()
{
$data1=DB::table('eduqualification')->select('*')->get();
$data2=DB::table('fincruds')
->join('eduqualification','fincruds.education','=','eduqualification.edu_id')
->select('*')
->get();
// print '<pre>';
// print_r($data2);
// die;
return view('fincrud',['data1'=>$data1,'data2'=>$data2]);
}
public function fincrud_post(Request $request)
{
$fincrud=new Fincrud;
if ($request->hasFile('profile_image')) {
$file_type = $request->file('profile_image')->extension();
$file_path = $request->file('profile_image')->storeAs('images/users', time() . '.' . $file_type, 'public');
$request->file('profile_image')->move(public_path('images/users'), time() . '.' . $file_type);
}
$fincrud->name=$request->name;
$fincrud->email=$request->email;
$fincrud->phone=$request->phone;
$fincrud->education=implode(',',$request->edu);
$fincrud->address=$request->address;
$fincrud->profile_image=$file_path;
$fincrud->save();
return back()->with('status','One Record Added Successfully!!');
}
public function fincrud_delete($id)
{
$fincrud=Fincrud::find($id);
if (!is_null($fincrud)) {
unlink($fincrud->profile_image);
$fincrud->delete();
}
return back()->with('status','One Record Deleted Successfully!!');
}
public function fincrud_edit($id)
{
$fincrud=Fincrud::find($id);
$data3=DB::table('eduqualification')->select('*')->get();
$data4=DB::table('fincruds')
->select('fincruds.education')
->where('id',$id)->first();
return view('editFincrud',['fincrud' => $fincrud,'data3' => $data3,'data4' => $data4]);
}
public function fincrud_update(Request $request)
{
$fincrud=Fincrud::find($request->id);
if ($request->hasFile('profile_image')) {
unlink($fincrud->profile_image);
$file_type = $request->file('profile_image')->extension();
$file_path = $request->file('profile_image')->storeAs('images/users', time() . '.' . $file_type, 'public');
$request->file('profile_image')->move(public_path('images/users'), time() . '.' . $file_type);
}
$fincrud->name=$request->name;
$fincrud->email=$request->email;
$fincrud->phone=$request->phone;
$fincrud->education=implode(',',$request->edu);
$fincrud->address=$request->address;
$fincrud->profile_image=$file_path;
$fincrud->save();
return redirect(route('fincrud_create'))->with('status','One Record Updated Successfully!!');
}
}
//
// <td>
// @foreach ($data1 as $item1)
// @foreach ($ed as $item2)
// @if ($item2 == $item1->edu_id)
// {{ $item1->edu_name }}
// @endif
// @endforeach
// @endforeach
// </td>
Make a folder in public folder [ images/customer ]
Comments
Post a Comment