演習課題「検索フォームを追加する」
右の環境には、Laravelで「myblog」というアプリケーションを作ってあります。
この一覧ページに、検索フォームを追加するように修正してください。
採点して、すべてのジャッジに正解すれば、演習課題クリアです!
※ 採点時は、サーバを起動し、問題文に関するページにアクセスできる状態にしてください。
#05:検索フォームを設置しよう
ここでは、1行掲示板に検索機能を追加します。そのため、記事の一覧画面に検索フォームを追加します。そして、Laravelでフォームを使うための基本的な操作を理解しましょう。
Laravelでフォームを利用するには、2重の波カッコにフォームと記述します。このような部品を、Formファサードと呼びます。
ファサード(facade)とは、建物の入り口という意味です。Laravelのファサードは、アプリケーションのサービスコンテナに登録したクラスに対するインターフェイスを提供します。
resources/views/search.blade.php{{ Form::open(['method' => 'get']) }}
{{ csrf_field() }}
<div class='form-group'>
{{ Form::label('keyword', 'キーワード:') }}
{{ Form::text('keyword', null, ['class' => 'form-control']) }}
</div>
<div class='form-group'>
{{ Form::submit('検索', ['class' => 'btn btn-outline-primary'])}}
<a href={{ route('article.list') }}>クリア</a>
</div>
{{ Form::close() }}
resources/views/index.blade.php@extends('layout')
@section('content')
<h1>paiza bbs</h1>
<p>{{ $message }}</p>
@include('search')
<table class='table table-striped table-hover'>
@foreach ($articles as $article)
<tr>
<td>{{ $article->content }}</td>
</tr>
@endforeach
</table>
@endsection
Laravelでフォームを使用するには、「laravelcollective/html」というライブラリが必要になります。これは、ターミナルで次のコマンドを実行します。$ cd bbs
$ composer require "laravelcollective/html":"^5.4.0"
このチャプターの環境には、このライブラリをインストール済みです。
自分の環境に、このライブライがインストールされているか確認するには、次のコマンドを実行します。$ composer info
### 検索フォーム
検索機能の作成 - Laravel学習帳
http://laraweb.net/tutorial/607/
Laravelで検索フォームを実装してみる | cly7796.net
http://cly7796.net/wp/php/try-to-implement-the-search-form-in-the-laravel/
Laravel5.5でお手軽にフィルタ&検索付きメモアプリを作るチュートリアル - Qiita
https://qiita.com/namaozi/items/11b65ccb6b7ecaefc23e
CSRF保護 5.6 Laravel
https://readouble.com/laravel/5.6/ja/csrf.html
### フォーム
Laravel Collective
https://github.com/LaravelCollective/docs/blob/master/html.md
ファサード 5.7 Laravel
https://readouble.com/laravel/5.7/ja/facades.html