laravel - 简单使用 Fouladgar 的 Eloquent Builder 类返回错误“它不是接口”
问题描述
我在创建一个简单的过滤器以使用 Eloquent Builder 类时遇到问题。将错误返回给我
App\EloquentFilters\Property\RoomsFilter 无法实现 Fouladgar\EloquentBuilder\Support\Foundation\Contracts\Filter - 它不是一个接口
基本上从如何开始复制粘贴
<?php
namespace App\EloquentFilters\Property;
use Fouladgar\EloquentBuilder\Support\Foundation\Contracts\Filter;
use Illuminate\Database\Eloquent\Builder;
class RoomsFilter implements Filter
{
public function apply(Builder $builder, $value): Builder
{
return $builder->where('rooms', $value);
}
}
谢谢大家的帮助
解决方案
正如错误所说,您需要扩展它,而不是实现它。
改变:
class RoomsFilter implements Filter
{ }
到
class RoomsFilter extends Filter
{ }
来自gitHub 存储库:
编写过滤器很简单。定义一个扩展Fouladgar\EloquentBuilder\Support\Foundation\Contracts\Filter 抽象类的类。这个类需要你实现一个方法:apply。
推荐阅读
- gnuplot - gnuplot中的直方图 - 箱没有彼此分开
- android - 图层列表可绘制对象有时未完全呈现
- java - 即使在异常之后如何继续无限循环
- python - 如何覆盖“设置”内置?
- xml - 过滤命名空间并用 XSLT 替换它们的前缀
- express - Bootstrap Modal 没有显示正确的 post_id
- python - 安装 TA-Lib 时,我得到以下信息 -> 错误:命令错误,退出状态为 1:
- git - 在詹金斯中测试 gitlab API 时出现 403 错误
- pandas - 用漂亮的汤在 for 循环中解析单个 XML 文件
- python - 将字符串格式的时间转换为时间戳格式在 Pyspark 中不起作用。它抛出空