【问题标题】:How to auto increment cart id in Laravel 5.6?如何在 Laravel 5.6 中自动增加购物车 ID?
【发布时间】: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">&nbsp;</td>
                <td>Subtotal</td>
                <td><?php echo Cart::subtotal(); ?></td>
            </tr>
            <tr>
                <td colspan="2">&nbsp;</td>
                <td>Tax</td>
                <td><?php echo Cart::tax(); ?></td>
            </tr>
            <tr>
                <td colspan="2">&nbsp;</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


【解决方案1】:

迁移:$table-&gt;increment('id'); id 应该自动递增 除非你的模型中有public $increments = false;

或者只是添加

型号

public $table = 'tablename';
public $fillable = ['your_stuff'];
public $increments = true;

我真的不明白这个问题,所以值得一试

【讨论】:

  • 对不起兄弟,你可以试试这个代码。我想那你可能会理解我的代码
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2021-04-02
  • 1970-01-01
  • 2018-04-18
  • 2021-06-16
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多