php - 向 Laravel 模型添加过滤器辅助方法
问题描述
我想在我的 LaravelProduct
模型中添加一个方法,该方法按name
attr 过滤并返回所有匹配产品的集合,这就是我得到的:
产品.php
public function filterByName($query)
{
return $this->where('name','LIKE','%'.$query.'%')->get();
}
产品控制器.php
$products = collect(new Product);
$products->filterByName($name);
这个的正确用法是什么?我需要使用 QueryFilter 吗?
解决方案
你是说范围吗?
public function scopeByName($query, $param)
{
return $query->where('name','LIKE','%'.$param.'%');
}
进而
$products = Product::byName('xyz')->get();
推荐阅读
- delphi - 有没有办法根据它们在基本类型中的索引位置来指定枚举子组?
- smartgwt - SmartGwt Dialog - 禁止 Dialog 解释对话框消息中的 ${loadingImage}
- google-cloud-firestore - expo 和 expo-firestore-persistence 问题
- android-studio - 带有警报管理器和广播接收器的 Android Studio 通知未发布通知
- sql - 使用字母数字字符串的数值连接表
- python - 气流2:获取任务内的执行日期
- python - ffmpeg rtsp 不会从 Python 子进程终止
- asp.net - ASP.Net VB:需要更好的替代方法来使用公共共享变量
- java - 我不知道为什么过了一段时间,这个程序开始输出无穷大
- angular - 输入不更新视图 ngmodelchange