【问题标题】:Search in laravel 5.2在 laravel 5.2 中搜索
【发布时间】:2016-12-15 13:01:19
【问题描述】:

我希望能够在 laravel 中搜索并将结果显示在与所有结果一起显示的同一张表上。

我的控制器是;

/*
     * View all clients in descending order 
     */
    public function getViewClient() {

        $clients = Clients::orderBy('created_at', 'desc')->paginate(15);
        $clients->count();


        return view('billing/clients/view', [
            'clients' => $clients
        ]);
    }

我显示的结果是

 <table class="table table-bordered">
                <tr>
                    <th>Client Number</th>
                    <th>Client</th>
                    <th>Contact</th>
                    <th>Country</th>
                    <th>Phone Number</th>
                    <th>Mobile Number</th>
                    <th>Email</th>
                </tr>
                @forelse($clients as $client)
                <tbody>
                    <tr data-clientid="{{ $client->id }}">
                    <td>{{ $client->client_number }}</td>
                    <td>{{ $client->client_name }}</td>
                    <td>{{ $client->contact_name }}</td>
                    <td>{{ $client->country }}</td>
                    <td>{{ $client->phone_number }}</td>
                    <td>{{ $client->mobile_number }}</td>
                    <td><a href="mailto:{{ $client->email }}">{{ $client->email }}</a></td>

所以现在我想实现一个搜索栏,它将搜索到数据库并在上面的同一个表中返回结果,同时 URL 栏也显示搜索结果。

请帮助或建议任何人。

非常感谢,非常感谢

【问题讨论】:

    标签: php database laravel search


    【解决方案1】:

    1) 在视图中添加搜索栏

    <form method="GET" action="" role="search">
      <div id="custom-search-input">
        <div class="input-group col-md-12">
          <input type="text" name="q" class="form-control" placeholder="Search Member" value="{{Request::get('q')}}">
          <span class="input-group-btn">
              <button class="btn btn-info btn-lg" type="submit">
                  <i class="glyphicon glyphicon-search"></i>
              </button>
          </span>
        </div>
      </div>
    </form>

    2) 写入你的控制器

    $clients = Client::getClients();
        $clients->count();
    
    
        return view('billing/clients/view', [
            'clients' => $clients
        ]);
    

    3) 写入客户端模型

    public static function getClients()
    {
        $q = Request::get('q');
        $clients = DB::table('clients')
            ->where(function ($query) use ($q) {
                $query->orWhere('client_name', 'like', '%'.$q)
                      ->orWhere('contact_name', 'like', '%'.$q)
                      ->orWhere('phone_number', 'like', '%'.$q);
            })
            ->orderBy('created_at', 'desc')->paginate(15);
    
        return $clients;    
    }
    

    【讨论】:

    • 我收到以下错误!.. 不应静态调用非静态方法 Symfony\Component\HttpFoundation\Request::get()
    • 没关系,现在可以工作了!谢谢.. 如果我想通过连接搜索数据库,现在该怎么办。这是如何运作的??我有点失落。谢谢@webistan
    • 很高兴它的工作,你能解释一下你想加入哪个表吗?
    猜你喜欢
    • 2017-03-04
    • 2016-09-15
    • 2017-02-14
    • 2018-05-16
    • 2017-03-15
    • 2018-06-01
    • 2017-05-15
    • 2016-06-07
    • 2017-03-17
    相关资源
    最近更新 更多