所以我正在使用这个Eloquent Builder
https://github.com/mohammad-fouladgar/eloquent-builder
我正在尝试进行一些过滤,但是每当我尝试定义过滤器时,都会出现错误:
我只是复制并粘贴github上已经存在的代码
这是我的ModelFilter.php:
<?php
namespace App\EloquentFilters\Listings;
use Fouladgar\EloquentBuilder\Support\Foundation\Contracts\Filter;
use Illuminate\Database\Eloquent\Builder;
class ModelFilter extends Filter
{
/**
* Apply gender condition on query builder.
*
* @param \Illuminate\Database\Eloquent\Builder $builder
* @param mixed $value
*
* @return \Illuminate\Database\Eloquent\Builder
*/
public function apply(Builder $builder,$value): Builder
{
return $builder->where('model',$value);
}
}
这是我的控制器(名称为test,因为我现在只想对其进行测试):
<?php
namespace App\Http\Controllers;
use App\Model\Listing\Listing;
use EloquentBuilder;
use Illuminate\Http\Request;
class test extends Controller
{
public function index(Request $request)
{
$users = EloquentBuilder::to(
Listing::class,$request->filter
);
// Use the API Resources for api response or return result within a view.
return response()->json(['data' => $users->get()],200);
}
}
我的路线是这样的:
Route::get('/test','test@index')->name('test');
因此,基本上,如果我只是沿路线/ test行驶,我将获得所有列表,这很好,但是,如果我像这样输入路线/ test?filter [model] = 48,我将得到错误:
Not found the filter: ModelFilter