📜  laravel 创建搜索 - PHP (1)

📅  最后修改于: 2023-12-03 15:17:13.965000             🧑  作者: Mango

Laravel 创建搜索 - PHP

在 Laravel 中,为了实现搜索功能,我们通常会使用 Eloquent 模型以及一些数据库查询方法。在本文中,我们将探讨如何在 Laravel 中创建一个基本的搜索功能。

安装 Laravel

首先,我们需要在本地计算机上安装 Laravel。您可以在 Laravel 的官方网站上找到安装说明,或者按照以下步骤:

  1. 打开终端并输入以下命令以安装 Laravel 的安装器:
composer global require laravel/installer
  1. 使用以下命令在您的计算机上创建新 Laravel 应用程序:
laravel new myapp
创建搜索

现在,我们可以使用以下命令生成一个新的搜索控制器:

php artisan make:controller SearchController

在控制器中,我们将添加一个 search 方法以处理搜索请求。可以使用以下代码来创建该方法:

public function search(Request $request)
{
    $query = $request->input('query');
    $results = Product::where('name', 'LIKE', "%$query%")->get();

    return view('search', compact('results'));
}

该方法获取来自搜索表单的查询字符串,然后使用 Eloquent 模型执行一个 LIKE 操作以查找数据库中与查询字符串匹配的所有产品。最后,搜索结果将传递到一个新视图。

创建视图

现在,我们需要创建一个名为 search.blade.php 的新视图。该视图将显示搜索结果。可以使用以下代码创建该视图:

@if(count($results) > 0)
    <ul>
        @foreach($results as $result)
            <li>{{ $result->name }}</li>
        @endforeach
    </ul>
@else
    <p>No results found.</p>
@endif

在这个视图中,我们首先判断是否有结果,如果有结果,就将它们显示在一个列表中,否则就显示消息“没有结果”。

创建路由

最后,我们需要为搜索创建一个路由。可以使用以下代码将此路由添加到 web.php 文件中:

Route::get('/search', 'SearchController@search')->name('search');

现在您可以通过访问 URL http://example.com/search?query=your+search+term 来调用搜索方法,其中 your+search+term 是您要搜索的实际术语。

结论

在本文中,我们讨论了如何在 Laravel 中创建一个基本的搜索功能。我们使用 Eloquent 模型和一些数据库查询方法来查询数据库中与查询字符串匹配的所有记录,然后将结果传递给一个新的视图。最后,我们将该视图与一个新的路由相结合,以便使用者可以在浏览器中输入要搜索的实际术语。