iT邦幫忙

2019 iT 邦幫忙鐵人賽

DAY 29
0
自我挑戰組

來用Laravel做點什麼吧系列 第 29

D29 超簡易版FB - 搜尋

  • 分享至 

  • xImage
  •  

不廢話,直接上code。

Route:

// web.php

Route::post('search/', 'UserController@search')->name('search');

Controller使用UserController:

// UserController.php

public function search(Request $request)
{
    $response = DB::table('posts')
                    ->leftJoin('users', 'posts.user_id', '=', 'users.id')
                    ->where('content', 'like', '%'.$request->input('keyword').'%')
                    ->get();
    return view('search')->with('responses', $response);
}

like在查詢中視作一種where方法的運算子,這段查詢相當於找字串中符合條件的資料。

我在Home中增加一個搜尋欄位,長這樣。

剩下就是另外一個View的事了。我增加了一個View search.blade.php,well,它幾乎跟Home一樣。

@extends('layouts.app')

@section('content')
<div class="card">
    <div class="card-header">Dashboard</div>
    <div class="card-body">
        @if (session('status'))
            <div class="alert alert-success" role="alert">
                {{ session('status') }}
            </div>
        @endif
        <form method="POST" action="{{ route('search') }}">
            @csrf
            <input type="text" name="keyword">
            <button type="submit" class="btn btn-primary">Search</button>
        </form>
        <form method="GET" action="{{ route('home') }}">
            <button type="submit" class="btn btn-primary">Back</button>
        </form>
    </div>
    @if(isset($responses))
    @foreach($responses as $response)
    <div class="card">
        <div class="card-header">{{ $response->name }}</div>
        <div class="card-body">
            <p>{{ $response->content }}</p>
        </div>
    </div>
    @endforeach
    @endif
</div>
@endsection

Ok,搜尋功能搞定XDDDDDDDDD


上一篇
D28 超簡易版FB - 留言(2)
下一篇
D30 超簡易版FB - 給愛心(X
系列文
來用Laravel做點什麼吧30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言