Доброго времени суток. Делаю мягкое удаление для ресурса, при переходе в виде по ссылке "Восстановить" (ссылка посылает POST к route('announces.restore') ), выдаёт
NotFoundHttpException
No query results for model [App\Announce].
routes/web.php:
Route::resource('/announces', 'AnnounceController');
Route::post('/announces/{announce}/restore', 'AnnounceController@restore')->name('announces.restore');
Route::post('/announces/{announce}', 'AnnounceController@softDelete')->name('announces.softDelete');
AnnounceController@restore:
public function restore(Announce $announce) //если обойтись без объекта модели, работает
{
$announce->restore();
return redirect()->route('announces.index')->with(['message' => 'restore.success', 'id' => $announce->id]);
}
views/announce/index.blade.php:
<a href="{{ route('announces.restore', ['announce'=>session('id')]) }}"
onclick="event.preventDefault();
document.getElementById('restore-form').submit();">
Восстановить
</a>
<form id="restore-form" action="{{ route('announces.restore', ['announce'=>session('id')]) }}" method="post" style="display: none;">
{{ csrf_field() }}
</form>
Я реализовал немного по-другому экшн:
public function restore(Request $r)
{
$id = $r->announce;
$a = Announce::onlyTrashed()
->where('id', $id)
->restore();
return redirect()->route('announces.index')->with(['message' => 'restore.success', 'id' => $id]);
}
Это работает, однако хотелось узнать, почему не получается через объект модели это сделать. Заранее спасибо!
Потому что по умолчанию эти записи не попадают в запрос, в этом то их и фишка.
Цитата из официальной документации:
As noted above, soft deleted models will automatically be excluded from query results. However, you may force soft deleted models to appear in a result set using the withTrashed method on the query
Кофе для программистов: как напиток влияет на продуктивность кодеров?
Рекламные вывески: как привлечь внимание и увеличить продажи
Стратегії та тренди в SMM - Технології, що формують майбутнє сьогодні
Выделенный сервер, что это, для чего нужен и какие характеристики важны?
Современные решения для бизнеса: как облачные и виртуальные технологии меняют рынок
Пытаюсь передать зашифрованные данные с одного своего домена на другойВот функция шифрования: