私はLaravel初心者です。私のコードを書いたりテストしたりしているうちに、私の破壊メソッドがもう正しく動作していないことに気付き、私が作った間違いを見つけることができません。だから私を助けてくれることを願っています。laravelは最後に追加されたものを削除します。
私の(ソフトウェア)ターゲットとは何ですか?私は "プロジェクト"を管理したい。すべてのプロジェクトには多くのレポートがあります。だから私は作成されたすべてのプロジェクトのページを手に入れました。そして、 "modify"と "delete"のボタンを持つテーブルにリストされたすべてのレポートを持つページを得ました。プロジェクトやレポートのすべてのCRUDを終えました。私が認識したときに、レポートやプロジェクトの削除ボタンにカーソルを合わせると、選択したレポートやプロジェクトの正しいIDが表示されます。私が削除ボタンを押すと、ダイアログが開き、 "はい"と "いいえ"ボタンで "本当に削除しますか?"というメッセージが表示されます。したがって、「はい」ボタンを押すと、Laravelは最後に追加されたデータベースエントリを削除します。
レポートとしてのプロジェクトも独自のコントローラを持っています。しかし、どちらも同じ_messages.phpを使用しています。私の間違いはそのファイルにあると私は思う。 _messages.phpから
抜粋:reportcontroller.phpから
@if(Session::has('sweet_alert.confirmDeleteReport'))
<div class="alert alert-warning" role="alert">
<button type="button" class="close" data-dismiss="alert" aria-label="Close"><span aria-hidden="true">×</span></button>
<div class="row">
<div class="col-xs-12">
<strong>Achtung!</strong> {{Session::get('sweet_alert.confirmDeleteReport')}}
</div>
</div>
<div class="row">
<div class="col-md-3 col-md-offset-8">
<a class="btn btn-danger" href="{{ route('reports.destroy', $report->id) }}" title="Löschen" data-token="{{csrf_token()}}" data-method="delete">Löschen</a>
<a class="btn btn-default" data-dismiss="alert">Abbrechen</a>
</div>
</div>
</div>
@endif
抜粋:
はpublic function destroy(Report $report)
{
$report->delete();
Session::flash('sweet_alert.success','Der Bericht vom ' . $report->date . ' mit der Berichtsnummer ' . $report->reportNumber . ' wurde erfolgreich gelöscht.');
return redirect()->route('reports.index');
}
public function delete(Report $report) {
Session::flash('sweet_alert.confirmDeleteReport', 'Soll der Bericht vom ' . $report->date . ' mit der Berichtsnummer ' . $report->reportNumber . ' wirklich gelöscht werden? Dieser Vorgang kann nicht rückgängig gemacht werden.');
return redirect()->route('reports.index');
}
は、セッション内の障害があるかもしれませんか? php artisan config:cacheを実行してキャッシュをフラッシュしましたが、運がありません。すべてのアイデアは大歓迎です。
挨拶
あなたのルートを表示できますか?そして、なぜあなたが宣言した削除機能を持っていますか? –