laravel中的scope怎么用

发布时间 - 2022-06-09 00:00:00    点击率:
在laravel中,scope用于处理模型中的数据,在模型中可以定义scope开头方法,这类方法可以通过模型直接调用,被称为查询作用域,语法为“public function scope首字母大写单词($query){...}”。

本文操作环境:Windows10系统、Laravel8版、Dell G3电脑。

laravel中的scope怎么用

laravel中的scope作用域

laravel中在模板中处理(属于不属于)的数据(增删改查),引入了scope来处理

也就是在模板定义方法中,加上前缀scope。

简言之,Laravel中模型中可以定义scope开头方法,这类方法可以通过模型直接调用。这类方法也称作查询作用域。

在数据查询中经常会使用条件查询,这些查询条件有些是相同的,scope可以实现这些相同条件查询的复用。

普通 scope

定义

方法名为 scope + 首字母大写单词 (这个可以随便定义)

public function scopeStatus($query)
{
    return $query->where('status',1);
}

使用

其中调用去掉 scope 后,首字母小写的那个函数。

scopeStatus () 调用 status ()。

User::status()->get();

全局 scope

我们需要重新定义 boot 方法,集成父类 boot 以后,添加全局 scope,这样默认就已经全局使用了。

protected static function boot()
{
    parent::boot(); // TODO: Change the autogenerated stub
    static::addGlobalScope('avaiable',function (Builder $builder){
        $builder->whereIn('status', [0, 1]);
    });
}

我们有的时候有的查询是不需要这个全局 scope 的时候,我们只需要去掉就可以。

使用 withOutGlobalScope()方法

Post::withOutGlobalScope('avaiable')->get();

【相关推荐:laravel视频教程】


# laravel  # 父类  # public  # function  # 作用域  # 这类  # 首字母  # 可以通过  # 直接调用  # 是在  # 也就  # 不需要  # 被称为  # 只需要  # 可以实现 


相关栏目: 【 网站优化151355 】 【 网络推广146373 】 【 网络技术251813 】 【 AI营销90571


相关推荐: 高配服务器限时抢购:企业级配置与回收服务一站式优惠方案  Android使用GridView实现日历的简单功能  济南网站建设制作公司,室内设计网站一般都有哪些功能?  如何在IIS服务器上快速部署高效网站?  iOS正则表达式验证手机号、邮箱、身份证号等  iOS验证手机号的正则表达式  魔毅自助建站系统:模板定制与SEO优化一键生成指南  如何快速生成ASP一键建站模板并优化安全性?  laravel怎么用DB facade执行原生SQL查询_laravel DB facade原生SQL执行方法  Laravel辅助函数有哪些_Laravel Helpers常用助手函数大全  Laravel如何实现用户密码重置功能?(完整流程代码)  Android 常见的图片加载框架详细介绍  简历在线制作网站免费版,如何创建个人简历?  网站设计制作书签怎么做,怎样将网页添加到书签/主页书签/桌面?  Laravel用户密码怎么加密_Laravel Hash门面使用教程  Laravel模型事件有哪些_Laravel Model Event生命周期详解  linux写shell需要注意的问题(必看)  Laravel事件监听器怎么写_Laravel Event和Listener使用教程  Laravel的HTTP客户端怎么用_Laravel HTTP Client发起API请求教程  深圳防火门网站制作公司,深圳中天明防火门怎么编码?  如何快速辨别茅台真假?关键步骤解析  html如何与html链接_实现多个HTML页面互相链接【互相】  制作无缝贴图网站有哪些,3dmax无缝贴图怎么调?  JavaScript模板引擎Template.js使用详解  Laravel策略(Policy)如何控制权限_Laravel Gates与Policies实现用户授权  学生网站制作软件,一个12岁的学生写小说,应该去什么样的网站?  Laravel如何为API编写文档_Laravel API文档生成与维护方法  Win11怎么恢复误删照片_Win11数据恢复工具使用【推荐】  laravel服务容器和依赖注入怎么理解_laravel服务容器与依赖注入解析  如何快速选择适合个人网站的云服务器配置?  如何在香港免费服务器上快速搭建网站?  Laravel如何编写单元测试和功能测试?(PHPUnit示例)  油猴 教程,油猴搜脚本为什么会网页无法显示?  深圳网站制作的公司有哪些,dido官方网站?  JavaScript如何实现倒计时_时间函数如何精确控制  如何在阿里云虚拟机上搭建网站?步骤解析与避坑指南  如何在宝塔面板中创建新站点?  jQuery 常见小例汇总  图册素材网站设计制作软件,图册的导出方式有几种?  Midjourney怎样加参数调细节_Midjourney参数调整技巧【指南】  html5的keygen标签为什么废弃_替代方案说明【解答】  阿里云网站搭建费用解析:服务器价格与建站成本优化指南  在Oracle关闭情况下如何修改spfile的参数  Win11摄像头无法使用怎么办_Win11相机隐私权限开启教程【详解】  C++时间戳转换成日期时间的步骤和示例代码  魔方云NAT建站如何实现端口转发?  香港服务器WordPress建站指南:SEO优化与高效部署策略  如何用y主机助手快速搭建网站?  Laravel Asset编译怎么配置_Laravel Vite前端构建工具使用  php后缀怎么变mp4格式错误_修改扩展名提示格式不对怎么办【技巧】