我有三个型号
产品型号:
public function propositions ()
{
return $this->belongsToMany(PropoCom::class, 'propo_com_produits',
'propo_com_id','produit_id',)->withPivot('tva', 'prix_unitaire_ht', 'quantite', 'reduction', 'prix_revient');
}
PropoCom 模型:
public function produits ()
{
return $this->belongsToMany(Produit::class, 'propo_com_produits',
'propo_com_id','produit_id',)->withPivot('tva', 'prix_unitaire_ht', 'quantite', 'reduction', 'prix_revient');
}
public function propoCom_produit()
{
return $this->hasMany(PropoCom_produit::class);
}
PropoCom_产品型号:
public function produits(){
return $this->belongsTo(Produit::class, 'produit_id');
}
public function proposition (){
return $this->belongsTo(PropoCom::class,"propo_com_id");
}
PropositionController,它允许我修改与 PropoCom 关联的产品:
public function edit($id)
{
$commerce = PropoCom_produit::findOrfail($id);
$proposition = $commerce->proposition;
return view('layouts.commerce.edit-propo', compact('commerce', 'proposition'));
}
编辑路线:
Route::get('/commerce/new/proposition/details/{propo_com_id}/edit'[App\Http\Controllers\PropositionController::class, 'edit'])->name('proposition.produit.edit');
带有链接的我的 Blade 视图允许我修改与 PropoCom 关联的产品:
<a href="{{ route('proposition.produit.edit', $proposition->id) }}" target="_blank" class="btn btn-primary btn-sm"><i class="fa fa-pen"></i></a>
但是当我将鼠标悬停在图标上查看链接时,它会从 PropoCom_Product ID 链接检索 PropoCom ID,当我单击它时,会收到 404 错误 未找到
有什么想法吗?
看起来您正在尝试将
PropoCom_produit
ID 传递给 edit
的 PropositionController
方法,但在路线定义中,您使用 propo_com_id
作为参数。这可能是导致问题的原因。
在路线定义中,您应该使用
PropoCom_produit
ID 作为参数。具体方法如下:
Route::get('/commerce/new/proposition/details/{id}/edit', [App\Http\Controllers\PropositionController::class, 'edit'])->name('proposition.produit.edit');
在 Blade 视图中,您应该将
PropoCom_produit
ID 传递给路线:
<a href="{{ route('proposition.produit.edit', $commerce->id) }}" target="_blank" class="btn btn-primary btn-sm"><i class="fa fa-pen"></i></a>
这样,当您点击链接时,它会将正确的
PropoCom_produit
ID 传递给 edit
的 PropositionController
方法。