亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

Laravel 錯誤:嘗試獲取非對象的屬性“id”

Laravel 錯誤:嘗試獲取非對象的屬性“id”

PHP
尚方寶劍之說 2023-07-08 17:52:04
我必須從購物車中刪除產品,但我遇到了以下錯誤:嘗試獲取非對象的屬性“id”(查看:/home/acer/test/project_basket/basket/resources/views/cart.blade.php)。我也嘗試以不同的方式,...刪除會話,但我不知道似乎有點困難,因為我只需要刪除一個產品。對于購物車中添加的每一個相同的產品,我都會創建徽章,每次都會增加一。購物車.blade.php@foreach($products as $product)<tr>   <td><img src="https://via.placeholder.com/400x200/" class="img-cart"></td>      <td><strong>{{ $product['item']['title'] }}</strong></td>          <td>            <form class="form-inline">                 <input class="form-control" type="text" value="{{ $product['qty'] }}" style="margin-right: 20px" >                  <!--<button rel="tooltip" class="btn btn-default"><i class="fa fa-pencil"></i></button>-->                       <form method="POST" action="{{ route('remove.item', $product->id) }}" >                              @csrf                             {{ method_field('DELETE') }}                             <input type="submit" value="Delete" onclick="return confirm('Are you sure?')" class="btn btn-primary" />                                                           </form>                     </form>                   </td>                  <td>${{ $product['price'] }}</td>              </tr>@endforeach產品控制器.php<?phpnamespace App\Http\Controllers;use App\Cart;use App\Product;use Illuminate\Http\Request;use Session;class ProductController extends Controller{    /**    *@return \Illuminate\Http\Response    */    public function index()    {        $products = Product::all();        return view('home', ['products'=> $products]);    }    public function getAddToCart(Request $request, $id)     {        $product = Product::find($id);        $oldCart = Session::has('cart') ? Session::get('cart') : null;        $cart = new Cart($oldCart);        $cart->add($product, $product->id);        $request->session()->put('cart', $cart);        return redirect()->route('home');    }
查看完整描述

3 回答

?
嚕嚕噠

TA貢獻1784條經驗 獲得超7個贊

你必須這樣使用

<form method="POST" action="{{route('remove.item',['product'=>$product['id']])}}" >

或者

<form method="POST" action="{{route('remove.item',['product'=>$product->id])}}" >


查看完整回答
反對 回復 2023-07-08
?
倚天杖

TA貢獻1828條經驗 獲得超3個贊

嘗試替換$product->id$product['id']. 所以這一行:

<form method="POST" action="{{ route('remove.item', $product->id) }}" >

對此進行更改:

<form method="POST" action="{{ route('remove.item', $product['id']) }}" >


查看完整回答
反對 回復 2023-07-08
?
達令說

TA貢獻1821條經驗 獲得超6個贊

修改你的代碼如下


購物車.blade.php


<form method="POST" action="{{ route('remove.item', $product) }}" > 

    @csrf

    {{ method_field('DELETE') }}

    <input type="submit" value="Delete" onclick="return confirm('Are you sure?')" class="btn btn-primary" />

</form>

路線


Route::get('/destroy/{product}', [

     'uses' => 'ProductController@destroy',

     'as' => 'remove.item']);

那么它應該可以解決你的問題


查看完整回答
反對 回復 2023-07-08
  • 3 回答
  • 0 關注
  • 211 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號