basharbkaya / laravel-search
一个用于为模型添加搜索功能的 Laravel 扩展包。
dev-master
2023-10-21 09:08 UTC
Requires
- php: ^8.0
- illuminate/database: *
- illuminate/support: *
This package is auto-updated.
Last update: 2024-09-21 11:11:36 UTC
README
一个用于通过模型进行搜索的 Laravel 扩展包。
安装
composer require basharbkaya/laravel-search
使用
在模型中
- 在您的模型中使用
Searchable特性 - 在您的模型中定义
$searchable属性以选择要搜索的列
示例
use BasharBkaya\LaravelSearch\Searchable;
class User extends Model {
use Searchable ;
protected $searchable = ['name', 'comments.title'];
public function comments(){
return $this->hasMany(Post::class);
}
}
在控制器中
示例
<?php
namespace App\Http\Controllers;
use App\Models\User;
use Illuminate\Http\Request;
use Illuminate\Routing\Controller as BaseController;
class Controller extends BaseController
{
use AuthorizesRequests, ValidatesRequests;
function index(Request $request)
{
$term = $request->query('term', '');
return User::search($term)->get();
}
}