2 回答

TA貢獻(xiàn)1827條經(jīng)驗(yàn) 獲得超4個贊
您的路線有兩個變量 (event_id) 和 (booking_id),但您的方法只有一個 ($id) 使用您現(xiàn)有的路線(這不符合 eloquent 的工作方式)
網(wǎng)頁.php
Route::delete('event/{event_id}/booking/{booking_id}', 'bookingController@destroy')->name('booking.destroy');
刀刃
action = "{{ route('booking.destroy', $event_id, $booking_id) }}"
控制器
public function destroy ($booking_id, $event_id)
您可能想在這里查看 laravel 關(guān)系: https ://laravel.com/docs/6.x/eloquent-relationships
會讓你的生活更輕松,因此 eloquent 會傳遞一個實(shí)例,你的 destroy 方法看起來像這樣
public function destroy (Booking $booking)
{
$event = $booking->event();
// Do something with related event
// or vice versa
}

TA貢獻(xiàn)1828條經(jīng)驗(yàn) 獲得超4個贊
ID是兩個獨(dú)立的ID嗎?還是他們共享相同的ID?
如果它們是兩個獨(dú)立的 ID,那么您需要給它們兩個明確不同的名稱,例如 booking_id 和 event_id,然后您就可以在 Controller 中隨意訪問它們。
Route::delete('event/{event_id}/booking/{booking_id}', 'bookingController@destroy');
然后在你的控制器中你可以做
public function destroy($event_id, $booking_id)
{
...
}
如果我沒記錯的話,控制器方法中的參數(shù)不需要與路由中的參數(shù)命名完全相同(盡管它會讓你的生活更輕松)。參數(shù)是按順序傳遞的,所以你可以這樣做
//$A = event_id, $B = booking_id
public function destroy($A, $B)
{
...
}
- 2 回答
- 0 關(guān)注
- 188 瀏覽
添加回答
舉報