返回顶部
首页 > 问答 > 后端 > laravel中在model里面重写where怎么写?
0
已解决

laravel中在model里面重写where怎么写?

  • 匿名发布
  • 2023-02-23
  • 发布在 问答/后端
44

我在 laravel 中使用 mongodb 作为 db 驱动,每次查找数据 都是 where ([“_id”=>1]) 使用_id ,我想兼容一下 都换成 where ([“id”=>1]) 用 id 作为查询条件,想着能不能重写 where 然后当查询 id 的时候换成查询_id , 不知道怎么用?有大佬知道的吗?

最佳答案

573293249

2023-02-23 18:24:54

没有的,你只是兼容处理主键的话 whereKey 更好用

其他回答4

创意课外班

2023-02-23

这样写确实可以实现效果 但是不知道有没有隐患

public function where($column){
        if(isset($column['id'])) {
            $column['_id'] = $column['id'];
            unset($column['id']);
        }
        return static::query()->where($column);
}


kswfdy

2023-02-23

使用局部作用域:快速入门《Laravel 9 中文文档》 可达到这个需求

public function scopeMongodbId($query, $id, $operator = "=")
{
    return $query->where('_id', $operator, $id);
}

$users = User::mongodbId($id, ">")->get();


冷眼观世界

2023-02-23

没有用 mongodb 的 ORM 吗

bc8681315

2023-05-11

e方法的作用是什么?

在Laravel中,Model是用于操作数据库的核心类。其中,where方法是用于设置查询条件的方法。在Model中重写where方法可以对查询条件进行自定义处理,例如添加额外的查询条件、修改查询条件等。这样可以提高代码的复用性和灵活性,方便在不同的场景下使用。

相关问题
相关文章
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作