演習課題「diaryのレコードを削除する」
右の環境には、Laravelで「myblog」というアプリケーションを作ってあります。
また、ルーティングは設定済みで、詳細ページにに削除用ボタンを設置してあります。
DiaryController.phpを修正して、destroy()メソッドを呼び出した時に、指定の日記データを削除してください。
採点して、すべてのジャッジに正解すれば、演習課題クリアです!
※採点を行う前に、`php artisan serve`でLaravelのサーバーを起動してください。
#07:データベースから記事を削除しよう
ここでは、掲示板アプリケーションで、記事を削除する機能を作ります。 deleteメソッドでアクセスした時、該当の記事を削除する機能を実装してみましょう。
bbs/routes/web.phpRoute::get('/articles', 'ArticleController@index')->name('article.list');
Route::get('/article/new', 'ArticleController@create')->name('article.new');
Route::get('/article/{id}', 'ArticleController@show')->name('article.show');
Route::delete('/article/{id}', 'ArticleController@destroy')->name('article.delete');
bbs/resources/views/show.blade.php<!DOCTYPE html>
<html>
<head>
<meta charset='utf-8'>
<title>paiza bbs</title>
<style>body {padding: 10px;}</style>
</head>
<body>
<h1>paiza bbs</h1>
<p>{{ $message }}</p>
<p>{{ $article->content }}</p>
<p>{{ $article->user_name }}</p>
<p>
<a href={{ route('article.list') }}>一覧に戻る</a>
</p>
<div>
{{ Form::open(['method' => 'delete', 'route' => ['article.delete', $article->id]]) }}
{{ Form::submit('削除') }}
{{ Form::close() }}
</div>
</body>
</html>
bbs/app/Http/Controllers/ArticleController.phppublic function destroy(Request $request, $id, Article $article)
{
$article = Article::find($id);
$article->delete();
return redirect('/articles');
}
paiza cloud内のブラウザで、WebページのHTMLを確認するには、次のように操作します。
ここでは、Mac OS X版のChromeを例にしていますが、他のWebブラウザでも、ほぼ同じ操作で確認できます。
1. 右上にある「新しいウィンドウで開く」アイコンをクリック
2. HTMLを確認したいWebページを表示する
3. Chromeのメニューで「ページのソースを表示」を選択する
削除ボタンを追加するには、Laravelでフォームを使用する場合に必要となる「laravelcollective/html」というライブラリをインストールします。これは、次のコマンドでインストールします。$ cd bbs
$ composer require "laravelcollective/html":"^5.4.0"
このチャプターの環境には、このライブラリをインストール済みです。
Laravel・データベースからデータ取得する全実例 – console dot log
https://blog.capilano-fw.com/?p=665
Laravel・データベースのデータ操作(追加/変更/削除)する全実例 – console dot log
https://blog.capilano-fw.com/?p=699