【发布时间】:2018-03-25 06:12:08
【问题描述】:
在 Laravel 5.6 中,我安装了购物车。我想把数据作为一个会话,然后把一个数据库。我也做了一些事情,但我无法获得 id 自动增量。它输入了类型。当我输入 id 然后它的工作,但它对用户来说很尴尬,而且对用户不友好。我想让它对用户友好
这是我的代码:
add.blade.php
<form action="{{route('add_to_cart')}}" method="post">
@csrf
<input type="text" name="hiddenId" value=""><br>
Name <br>
<input type="text" name="txtName"><br>
Qty <br>
<input type="text" name="txtQty"><br>
Price <br>
<input type="text" name="txtPrice">
<input type="submit" value=" + ">
</form>
<hr>
<table border="2px">
<tr>
<td>SL</td>
<td>Name</td>
<td>Qty</td>
<td>Unit Price</td>
<td>Total</td>
<td>Action</td>
</tr>
@foreach(Cart::content() as $row)
<tr>
<td>{{$row->id}}</td>
<td>{{$row->name}}</td>
<td>
<form action="{{url('update')}}" method="post">
{{csrf_field()}}
<input type="text" name="uqty" value="{{$row->qty}}">
<input type="hidden" name="rowId" value="{{$row->rowId}}">
<input type="submit" value="Update">
</form>
</td>
<td>{{$row->price}}</td>
<td>{{$row->subtotal}}</td>
<td>
<a href="{{url('deletecart/'.$row->rowId)}}">delete</a>
</td>
</tr>
@endforeach
<tfoot style="text-align: right;">
<tr>
<td colspan="2"> </td>
<td>Subtotal</td>
<td><?php echo Cart::subtotal(); ?></td>
</tr>
<tr>
<td colspan="2"> </td>
<td>Tax</td>
<td><?php echo Cart::tax(); ?></td>
</tr>
<tr>
<td colspan="2"> </td>
<td>Total</td>
<td><?php echo Cart::total(); ?></td>
</tr>
</tfoot>
</table>
CartController.php
namespace App\Http\Controllers;
use Illuminate\Http\Request;
use DB;
use Cart;
use App\CartItem;
use Illuminate\Support\Facades\Auth;
use App\Http\Requests;
use App\Http\Controllers\Controller;
class CartController extends Controller
{
function index(){
return view('add');
}
public function add_to_cart(Request $request){
$qty = $request->txtQty;
$id = $request->hiddenId;
$name = $request->txtName;
$price = $request->txtPrice;
$data['qty']=$qty;
$data['id']=$id;
$data['name']=$name;
$data['price']=$price;
Cart::add($data);
return redirect()->back();
}
public function update_cart(Request $request){
$uqty = $request->uqty;
$rowId = $request->rowId;
Cart::update($rowId, $uqty);
return redirect()->back();
}
public function delete_cart($rowId){
Cart::remove($rowId);
return redirect()->back();
}
}
这里路由web.php
Route::get('/addproduct','CartController@index')->name('cart_index');
Route::post('/addcart','CartController@add_to_cart')->name('add_to_cart');
//Route::post('/showcart','CartController@show_cart')->name('show_cart');
Route::get('/deletecart/{id}','CartController@delete_cart')->name('delete_cart');
Route::post('update','CartController@update_cart')->name('update_cart');
我怎样才能做到这一点?
【问题讨论】:
-
你能告诉我们创建 carts 表的迁移吗?如果您将 ID 列正确设置为自动递增,则应自动分配 ID。
-
亲爱的,但现在我只显示未放入数据库的。我想先解决这个问题
-
请添加
Cart实现。 -
从 db 中取出购物车的最后一个 id 并加 1 并显示给用户
标签: php laravel cart shopping-cart laravel-5.6