导航栏

文章

  • 首页
  • 查看历史

导航栏

  • 登陆
    • QQ登陆 微博登陆
  • 其他
    • 图标库
  • 夜间模式
  • 退出登录

【亲测】Laravel 的 ModelFilter 查询的时候orwhere联合问题【亲测】


作者:科技小锅盖             时间:2021-8-17 09:53             站长QQ:1540217035

近期学习到了Laravel的modelfilter检索,用起来确实比较方便联查的数据也可以直接检索,就是在用到where和orwhenre的时候会出现检索联合查询失效的问题,没考虑到联合查询的条件问题,后面看了一下才发现是写法问题,这里改一下写法的问题。


联合查询失效例子:(和其他条件查询orwhere会失效)

/**
*
* 管理员账号
*
* @param $name
* @return CommissionFilter
*/
public function name($name)
{
   return $this->where('dealer.name', 'LIKE', "%$name%")->orwhere('dealer.phone', '=', $name);
}


如果出现这种一个条件查询多个字段的时候,就会遇到问题,当然也可以在when里面闭包查询。


联合查询修改后:在where里面闭包查询后,这样解决了就好了

/**
*
*
管理员账号
*
*
@param $name
* @return CommissionFilter
*/
public function name($name)
{
   
return $this->where(function ($value) use ($name) {
       
return $value->where('dealer.name', 'LIKE', "%$name%")->orwhere('dealer.phone', '=', $name);
   
});
}


在使用的时候也比较方便:


需要提前引入:

public function modelFilter()
{
   
return $this->provideFilter(CommissionFilter::class);
}


直接model类直接filter就可以,需要传入相关条件

Commission::filter($params)



推荐

【亲测】多个相同键值对的二维数组合并成一个二维数组【亲测】

2021-05-26 10:49:46

【亲测】弹窗显示页面内图片【亲测】

2020-09-09 11:04:14

【亲测】科技小锅盖推荐免费好用的api接口【亲测】

2020-09-04 10:07:44

【亲测】Supervisor 配置注意事项【亲测】

2021-11-16 16:03:28

不足三千元站上5G巅峰 荣耀Play4 Pro体验评测

2020-06-08 15:42:52

华为Mate40系列发布会视频回放

2020-10-23 09:15:23

天玑820到底有多强?Redmi 10X Pro评测

2020-06-02 15:31:09

【亲测】微信企业付款到零钱注意事项【亲测】

2020-07-15 09:17:58

苹果或会在3月23日举办今年第一场发布会 AirTags追踪贴可能会现身

2021-03-09 09:22:46

【亲测】获取ip地址的API 【亲测】

2020-07-24 11:33:18

陕ICP备2021003534号-1 科技小锅盖 保留所有权利 网站地图 站长QQ:1540217035
    友情链接:
  • 米醋儿
  • 笔墨