Laravel - я пытаюсь удалить запись из базы данных, возвращает ноль (не работает) - PullRequest
0 голосов
/ 12 октября 2018

Здравствуйте, пользователи StackOverflow,

Я пытаюсь удалить запись из базы данных, используя функцию уничтожения, но она возвращает нулевое значение.Я думаю, что это как-то связано со мной, используя реляционную модель.

Club_info.blade.php:

@foreach ($speler as $s)
<tr>
  <td>{{$s->speler_naam}} 
    <a href="{!! url()->current() !!}/delete/{{$s->id}}">×</a>
 </td>
</tr>
@endforeach

Файл маршрутов:

Route::get('/view/{naam}/delete/{id}', 'VoetbalController@destroy');

Контроллер:

public function destroy($id)
{
    $speler = Speler::where('id', $id)->delete();
    $speler->delete();
}

Модель:

public function speler()
{
    return $this->belongsTo('App\Speler', 'naam', 'club_naam');
}

Ответы [ 2 ]

0 голосов
/ 12 октября 2018

Если в маршрутизации нет магической логики, значит, в функции уничтожения отсутствует переменная $naam.

Вы удаляете удаление, поэтому второе удаление не требуется.

public function destroy($naam, $id)
{
    Speler::where('id', '=', $id)->delete();
}
0 голосов
/ 12 октября 2018

Вы передаете 2 переменные naam и id.

Так что $id в вашей функции destroy автоматически примет значение вашего первого параметра {naam}.Вам нужно добавить 2 параметра в вашу функцию destroy в контроллере.

И вы вызвали delete() метод twise.

Измените свою функцию контроллера на

public function destroy($naam, $id)
{
   $speler = Speler::where('id', $id)->delete();
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...