这里有点问题 我试图让我的按钮将我主页上的一些产品放入购物车 这是我的一些代码
路线
Route::get('/home/{id}', [HomeController::class, 'addItem'])->name("add-item");
控制器
public function addItem($id)
{
$produk = Jasa::find($id);
$id_user = Auth::id();
$cart_name = $produk->nama_jasa;
$cart_harga = $produk->estimasi_harga;
$cart = Cart::create([
'user_id' => $id_user,
'name' => $cart_name,
'harga' => $cart_harga,
]);
$cart->save();
return back();
}
刀片
@foreach ($jasas as $jasa)
<div class="desainFurnitur" data-aos="fade-up" data-aos-delay="300">
<img src="{{ asset('storage/ListJasa/' . $adminListJasa[0]->filename) }}">
<div class="text-listjasa">
<h3>{{ $adminListJasa[0]->heading }}</h3>
<p type="hidden" class="text-center font-weight-bold card-text">{{$jasa->name}}</p>
</div>
<a href="{{ route('add-item',['id'=>$jasa->id] ) }}" class="btn btn-secondary">Add To Cart</a>
</div>
@endforeach
答案 0 :(得分:1)
首先检查 $jasa->id
不为空。
您的路线是
Route::get('/home/{id}', [HomeController::class, 'addItem'])->name("add-item");
参数 id
是必需的。当您传递 null
时,会生成这些类型的错误。所以请确保您没有通过 'id' => null
;
出于测试目的,您可以将这些参数设为可选,例如
Route::get('/home/{id?}', [HomeController::class, 'addItem'])->name("add-item");
在方法中你需要写
public function addItem($id = null)
答案 1 :(得分:0)
试试这个,希望对你有帮助
{{route('add-item',$jasa->id)}}
or
{{ route('add-item',[$jasa->id] ) }}
答案 2 :(得分:0)
首先 dd($jasas);
和 dd($jasa)
知道 id 存在的位置。错误是因为 id 没有被添加到路由中..
谢谢