neiderruiz / filter-eloquent-laravel
过滤查询 Eloquent Laravel
dev-main
2023-02-26 11:24 UTC
README
翻译文本 php
composer require neiderruiz/filter-eloquent-laravel
如何使用翻译器
// import pachage
use Neiderruiz\FilterEloquentLaravel\Traits\FilterQuery;
// use trait in controller
class UserController extends Controller
{
use FilterQuery;
}
// example use filter
public function index(Request $request)
{
$this->filter = User::query();
$this->addWith();
$this->where();
$this->search();
return $this->success($this->paginate());
}
// your url request
?paginate=true&search=[articles,name,laravel]&with=[articles:id,title]
// get specific fields
&inputs=id,name,email
获取特定字段
// your url request
&fields=id,name,email
带有关系
&with=[posts:id,title,user_id]
带有多个关系
//example one
&with=[posts:id,title,user_id]
// example two
&with=[posts:id,title,user_id][posts.comments]
// example three
&with=[posts:id,title,user_id][posts.comments][posts.comments.user]
// example four
&with=[posts:id,title,user_id][posts.comments][posts.comments:id,description]
简单搜索
// your url request
&search=[name,your text]
带有关系的搜索
// your url request
&search=[articles,name,your text]
带有多个关系的搜索
// your url request
&search=[articles,name,your text][articles,description,your text]
Where
// example one &where=[id,10] // example two &where=[id,10][name,neider ruiz] // example three &where=[name,neider ruiz,like] // example four &where=[age,20,<=]
带有关系的 Where
// example one &where=[articles,id,10] // example two &where=[articles,title,mi titulo,like]