Laravel multiple data insert into database part 3
front_page.blade.php:
<!DOCTYPE html>
<html>
<head>
<title>Multiple data send</title>
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css">
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/js/bootstrap.min.js"></script>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.7/jquery.min.js">
</script>
</head>
<body>
<div class="container">
<br>
@if(Session::has('success'))
<div class="alert alert-success">
{{Session::get('success')}}
</div>
@endif
<form action="/orders" method="POST">
{{csrf_field()}}
<section>
<div class="panel panel-header">
<div class="row">
<div class="col-md-6">
<div class="form-group">
<input type="text" name="customer_name" class="form-control" placeholder="Please enter your name">
</div></div>
<div class="col-md-6">
<div class="form-group">
<input type="text" name="customer_address" class="form-control" placeholder="Please enter your Address">
</div></div>
</div></div>
<div class="panel panel-footer" >
<table class="table table-bordered">
<thead>
<tr>
<th>Product Name</th>
<th>Brand</th>
<th>Quantity</th>
<th>Budget</th>
<th>Amount</th>
<th><a href="#" class="addRow"><i class="glyphicon glyphicon-plus"></i></a></th>
</tr>
</thead>
<tbody>
<tr>
<td><input type="text" name="product_name[]" class="form-control" required=""></td>
<td><input type="text" name="brand[]" class="form-control"></td>
<td><input type="text" name="quantity[]" class="form-control quantity" required=""></td>
<td><input type="text" name="budget[]" class="form-control budget"></td>
<td><input type="text" name="amount[]" class="form-control amount"></td>
<td><a href="#" class="btn btn-danger remove"><i class="glyphicon glyphicon-remove"></i></a></td>
</tr>
</tr>
</tbody>
<tfoot>
<tr>
<td style="border: none"></td>
<td style="border: none"></td>
<td style="border: none"></td>
<td>Total</td>
<td><b class="total"></b> </td>
<td><input type="submit" name="" value="Submit" class="btn btn-success"></td>
</tr>
</tfoot>
</table>
</div>
</section>
</form>
</div>
<script type="text/javascript">
$('tbody').delegate('.quantity,.budget','keyup',function(){
var tr=$(this).parent().parent();
var quantity=tr.find('.quantity').val();
var budget=tr.find('.budget').val();
var amount=(quantity*budget);
tr.find('.amount').val(amount);
total();
});
function total(){
var total=0;
$('.amount').each(function(i,e){
var amount=$(this).val()-0;
total +=amount;
});
$('.total').html(total+".00 tk");
}
$('.addRow').on('click',function(){
addRow();
});
function addRow()
{
var tr='<tr>'+
'<td><input type="text" name="product_name[]" class="form-control" required=""></td>'+
'<td><input type="text" name="brand[]" class="form-control"></td>'+
'<td><input type="text" name="quantity[]" class="form-control quantity" required=""></td>'+
'<td><input type="text" name="budget[]" class="form-control budget"></td>'+
' <td><input type="text" name="amount[]" class="form-control amount"></td>'+
'<td><a href="#" class="btn btn-danger remove"><i class="glyphicon glyphicon-remove"></i></a></td>'+
'</tr>';
$('tbody').append(tr);
};
$('.remove').live('click',function(){
var last=$('tbody tr').length;
if(last==1){
alert("you can not remove last row");
}
else{
$(this).parent().parent().remove();
}
});
</script>
</body>
</html>
OrderController:
<?php
namespace App\Http\Controllers;
use Illuminate\Http\Request;
use App\Orders;
use App\Items;
class OrderController extends Controller
{
/**
* Display a listing of the resource.
*
* @return \Illuminate\Http\Response
*/
public function index()
{
//
}
/**
* Show the form for creating a new resource.
*
* @return \Illuminate\Http\Response
*/
public function create()
{
//
}
/**
* Store a newly created resource in storage.
*
* @param \Illuminate\Http\Request $request
* @return \Illuminate\Http\Response
*/
public function store(Request $request)
{
$data=$request->all();
$lastid=Orders::create($data)->id;
if(count($request->product_name) > 0)
{
foreach($request->product_name as $item=>$v){
$data2=array(
'orders_id'=>$lastid,
'product_name'=>$request->product_name[$item],
'brand'=>$request->brand[$item],
'quantity'=>$request->quantity[$item],
'budget'=>$request->budget[$item],
'amount'=>$request->amount[$item]
);
Items::insert($data2);
}
}
return redirect()->back()->with('success','data insert successfully');
}
}
Model
Orders:<?php
namespace App;
use Illuminate\Database\Eloquent\Model;
class Orders extends Model
{
protected $fillable=['customer_name','customer_address'];
}
Items:
<?php
namespace App;
use Illuminate\Database\Eloquent\Model;
class Items extends Model
{
protected $fillable=['orders_id','product_name','brand','quantity','budget','amount'];
}
Route:
Route::get('/','FrontpageController@home');
Route::post('/orders','OrderController@store');
sir, i want to insert data from multiple users in database. what can i do in laravel
ReplyDelete