php - laravel 中的数据比较
问题描述
我是 laravel 的初学者,我正在尝试运行数据库中给出的比较查询。我保存了一个由表单实现的字段日期以及包括名称在内的其他字段。我尝试查询该名称,并且它与下面的代码一起正常工作。
我想检索所有具有 name 变量作为我传递的字段名称的行(在这里它似乎有效),然后只有那些具有字段 date 的那些在我作为变量传递的数字处具有指定月份的数字 $月。这样做的正确形式是什么?谢谢皮耶罗
public function filterparamenter(){
$name = request('name');
$month = request('$month');
$query = subagente::all();
$query = $query->where('subagente', $subagente);
$query = $query->whereMonth('data', $month)->get();
方法 Illuminate\Database\Eloquent\Collection::whereMonth 不存在。
解决方案
Using::all()
返回 a Collection
,它有一个->where()
方法,但->whereMonth()
只在 Eloquent 的Builder
类中可用。更改您的代码如下:
$query = subagente::query();
$query = $query->where('subagente', $subagente);
$query = $query->whereMonth('data', $month)->get();
或者,更紧凑:
$results = subagente::where("subagente", $subagente)
->whereMonth("data", $month)
-get();
使用::query()
或::where()
开始查询将生成一个Builder
实例,您可以在调用返回 a记录之前链接附加子句( ->where()
、->whereMonth()
等) 。->get()
Collection
subagente
旁注,应该"data"
是"date"
?
推荐阅读
- spring - 春季传播水平支持
- python - “ValueError:值的长度与索引的长度不匹配”
- flutter - FlutterQuill 编辑器的初始值
- php - 如何通过 sftp 在 laravel 中将文件从一台远程服务器复制到另一台服务器
- reactjs - 删除或禁用在动态表单中先前行中选择的值添加行 React JS 17.0.1
- c# - 如何从库项目中的主项目访问窗口?
- eclipse - 在junit中按顺序运行一个类两次
- json - curl http 请求返回错误/非法格式或缺少 REST Api 的 URL
- python - python中的实例方法调用
- android - 通过intent-filter kotlin从其他应用程序接收数据?