经常在代码中我们需要实现数组排序,或者数组过滤,或者数组查找类似查找数据库一样的用法 可以使用collect $items=[ ["num"=>17,"status...ucsCollect->filter(function ($item, $key) { return $item['num'] > 14; }); //倒叙排序...$ucsCollect->sortByDesc(function ($item, $key) { return $item['grade']; //正序排序
目录 搭建起 consul Consul 的 HTTP API 建议读者先学习笔者的另一篇文章 学习搭建 Consul 服务发现与服务网格-有丰富的示例和图片,这样了解 consul 大体的结构和学习集群搭建...,摸清 consul 的服务注册发现配置方法。...直接使用 sudo apt-get install consul命令即可安装 consul,你也可以参考导读中笔者的另一篇文章,里面提到了详细的安装方法。...“维护模式”,在维护模式下,该服务将被标记为不可用,并且不会出现在DNS或API查询中; 通过这些 API,可以注册服务以及注销服务,下面介绍一下一些只要的 API 的使用方法。...简单地注册服务 本小节介绍通过 HTTP API 方式,简单注册一个服务并配置健康检查,接下来我们将使用 HTTP API 原生请求的方式,一步步了解 consul 中如何注册服务,并了解一些参数的使用
前言 在web开发过程中涉及到表格时,例如dataTable,就会产生分页的需求,通常我们将分页方式分为两种:前端分页和后端分页。...前端分页 一次性请求数据表格中的所有记录(ajax),然后在前端缓存并且计算count和分页逻辑,一般前端组件(例如dataTable)会提供分页动作。...我这里直接粘贴了这篇博客里的一段话。 4. 什么时候会导致不安全的分页? PageHelper 方法使用了静态的 ThreadLocal 参数,分页参数和线程是绑定的。...如果代码在进入 Executor 前发生异常,就会导致线程不可用,这属于人为的 Bug(例如接口方法和 XML 中的不匹配,导致找不到 MappedStatement 时), 这种情况由于线程不可用,也不会导致...当这个线程再次被使用时,就可能导致不该分页的方法去消费这个分页参数,这就产生了莫名其妙的分页。 上面这个代码,应该写成下面这个样子: List list; if(param1 !
我之前一直使用的是http,所以部署lnmpa也无所谓,毕竟全都是http通信的。 最近换到https的时候出问题了。...Nginx和Apache是http通信的,而我们和Nginx是https通信的,于是就悲剧了。 那些写明了绝对网址路径的都会生成http而不是https。...(这可能是lnmpa的配置造成的,有时间我在研究研究。) 于是就有2种方法来兼容这个蛋疼的https和http。 1、修改服务器的反代配置 这个也蛋疼。...给Apache加上SSL,然后端口还不能使用443,只能找其他的例如14430(大点以防系统应用冲突) 然后Nginx反代访问的时候,使用https协议。 实践证明这个工作量太大了。...2、直接修改程序文件,兼容http和https 最简单的方法,是在他url生成之后,用str_replace 这个玩意把”http:”给去掉,显然我也是这么做的。然后,轻松的搞定了。
DQL—排序查询 SELECT 字段列表 FROM 表名ORDER BY 字段1 排序方式1,字段2 排序方式2; 排序方式 ASC: 升序 (默认值) DESC: 降序...⚠️注意:如果是多字段排序,当第一个字段值相同时,才会根据第二个字段进行排序。...Exercises 1.根据年龄对公司的员工进行升序排序。....根据年龄对公司的员工进行升序排序,年龄相同,再按照入职时间进行降序排序 select * from emp order by age asc , ENTRYDATE desc; DQL-分页查询 SELECT...分页查询是数据库的方言,不同的数据库有不同的实现,MYSQL 中是LIMIT。 如果查询的是第一页数据,起始索引可以省略,直接简写为 limit 10。 Exercises 1.
delete()方法是实例方法,需要查询到相应的数据并通过模型实例调用。 destroy()方法可以直接调用,通过索引删除记录。...举个例子: /*delete()方法删除*/ //先查找记录 $blog = Blog::find(1); if($blog){ //再删除记录 if($blog->delete()...; } }else{ echo "文章不存在"; } /*destroy()方法删除*/ //直接通过索引删除 Blog::destroy(1); 还有一个区别是两者的返回值不一样...,delete方法返回的是boolean值,true或false,destroy方法返回的是被删除的记录数。...完整实例:http://github.crmeb.net/u/defu 来自 “开源世界 ” ,链接:http://ym.baisou.ltd/post/652.html,如需转载,请注明出处,否则将追究法律责任
PageHelper 使用详解见文章:分页插件pageHelpler的使用(ssm框架中)服务器端分页 3....更多关于 Example 的使用说明见文章: java 查询功能实现的八种方式 MyBatis : Mapper 接口以及 Example 使用实例、详解 4....当只是查询数据,不需要返回总条数时可选择此方法: PageHelper.startPage(第几页, 20,false); // 每次查询20条 当数据量极大时,可以快速查询,忽略总条数的查询,减少查询时间...以下是该方法原码实现: ?...------------------------------------------------- 2019.5.13 后记 : 1)分页的写法 下图中黄框中的写法运行 比红框中 快,不知道是不是插件本身也会有费时
在.NET Core 项目钟(类库),使用Entity Framework,建立模型生成数据库时,失败 Could not load assembly 'xxx'....HasForeignKey(d => d.GroupId) .OnDelete(DeleteBehavior.Cascade); } } 改成 64位的方法...一个逗逗的大学生
setxxAttribute 在设置(sql: insert update) 的时候 会将$obj->xx = ‘value’的时候, 操作数据库之前 自动转化一下 getxxAttribute 在获取...xx属性的时候 $obj->xx 会转化 示例: //获取之前首字母大写 public function getFirstNameAttribute($value) {...return ucfirst($value); } //存入之前的改变 public function setFirstNameAttribute($value) {...$this->attributes['first_name'] = strtolower($value); } 定义一个访问器 定义一个修改器 注意:使用驼峰格式命名 https://laravel-china.org.../docs/laravel/5.6/eloquent-mutators/1406 参考链接 https://laravel.com/docs/5.5/eloquent-mutators#array-and-json-casting
分页算法(也就是分页读取数据的时候使用的select 语句)面临两大难题:一个是不同的数据库使用的分页算法是不一样的(比如SQL Server 2000可以使用Max、表变量、颠倒Top,SQL...Server 2005可以使用Row_Number,MySql可以使用limit ,Orcale可以使用ROWNUM等);另一个是,不同的分页需求,可以采用的分页算法也是不一样的(比如单字段排序和多字段排序...这样不同的分页算法既可以适应不同的数据库,也可以使用不同的分页需求。 ...使用方法: //实例化 JYK.Controls.Pager.QuickPagerSQL PagerSQL = new QuickPagerSQL(); protected void Page_Load...,SQL语句和储存过程的对比,exe (@sql)和 exec sp_executesql @sql 的区别。
因为我一直没有在UserControl里面使用过QuickPager分页控件,我都是直接在.aspx里面使用,所以这个bug一直没有发现。...后来告诉我他把分页控件放在了UserControl里面无法翻页的情况,检查之后才发现分页的事件没有传递到UserControl里面的分页控件里面,就是说分页控件没有得到分页事件。...改了半天也没有找到从正规的方式来解决,所以只好采用了一个笨办法来解决。在UserControl里面使用分页控件的时候也稍稍有一点不同。 ...,其他的使用方法都是一样的。...using JYK.Controls.Pager; namespace JYK.Manage.Test.UC { /**//// /// 在UserControl里面使用分页控件的方法
MongoDB实用场景 产品用户访问日志,点击埋点统计信息 业务系统环境参数配置信息 业务系统运行时日志,如laravel.log,nginx.log 使用Homebrew在macoOS安装MongoDB...中使用MongoDB 使用Composer创建一个Laravel项目 composer create-project --prefer-dist laravel/laravel laravel-mongodb-exploer...DB中查询MongoDB 使用了Laravel-MongoDB扩展,可以基于Eloquent与Query Builder操作MySQL一样的数据php artisan thinker/ / 查询ad_clicks...ip2long' => ip2long('31.42.4.14')]); 统计访问数据 AppModelsAdClick::where('ip', '31.42.4.14')->count() 以上就是本文的全部内容...,希望对大家的学习有所帮助,也希望大家多多支持。
前言 Laravel 的加密机制使用 OpenSSL 提供 AES-256 和 AES-128 的加密,本文将详细介绍关于Laravel中encrypt和decrypt的实现,分享出来供大家参考学习,下面话不多说了...的目录里有配置 $ 'key' => env('APP_KEY'), 'cipher' => 'AES-256-CBC', 使用方法,在laravel里已经有使用方法了,这里就不在过多的说了。...主要使用的两个方法,一个是encrypt的加密,一个是decrypt的解密 查找加密解密的文件 实现方法的位置是在vendor/illuminate/encryption/的目录下发现两个文件,一个是EncryptionServiceProvider...$value, $this->key); /根据随机值和内容,生成一个sha256的签名 } 以上加密共分了三大步 1、生成随机码 2、生成加密内容 3、生成签名 框架用到一个优雅的方法...而使用serialize和使用json_encode的区别在哪,我想最大的好处是,你所要加密的内容比较大的时候,serialize相对于要快。 另外一个地方是,框架在加密的时候使用了一个随机字符串。
一、分页需求: 客户端通过传递start(页码),pageSize(每页显示的条数)两个参数去分页查询数据库表中的数据,那我们知道MySql数据库提供了分页的函数limit m,n,但是该函数的用法和我们的需求不一样...,所以就需要我们根据实际情况去改写适合我们自己的分页语句,具体的分析如下: 比如: 查询第1条到第10条的数据的sql是:select * from table limit 0,10; ->对应我们的需求就是查询第一页的数据...:select * from table limit (1-1)*10,10; 查询第11条到第20条的数据的sql是:select * from table limit 10,10; ->对应我们的需求就是查询第二页的数据...:select * from table limit (3-1)*10,10; 二、总结: 通过上面的分析,可以得出符合我们需求的分页sql格式是:select * from table limit (...三、附文: 上文仅介绍了MySQL分页的计算公式,如果数据较多时直接使用limit会耗时比较长,详情请阅读: https://www.cnblogs.com/youyoui/p/7851007.html
最近在用 laravel 5 做例子,在做到表单的时候,习惯性的使用 Form::open() 结果发现提示错误,没有这个类, 好吧,找了找,发现 在laravel 5 中,把 from 和 html...单独的提出去了,下面就是安装使用方法啦 添加到 composer.json "require": { "illuminate/html": "~5.0" }, 更新 composer...使用方法 以前写法是这样的 {{Form::open()}} {{Form::close()}} 现在变成这样的了 {!! Form::open() !!} {!!...基本上就是这样,更多的使用方法可以看手册 http://laravelcollective.com/
vendor,命令执行成功后,如图: 配置redis 说到laravel 中redis 的配置,其实默认项目中已经有了相关配置,只是默认没有使用。...默认使用的是: 项目 使用类型 CACHE_DRIVER file SESSION_DRIVER file 添加redis数据库使用 'redis' => [ 'cluster' =...'port' => env('REDIS_PORT', 6379), 'database' => 1, ], ], laravel...使用redis 做缓存 默认使用的file 做缓存,修改的话,也很简单,直接修改.env 文件中的配置参数就OK。...我们可以在Redis门面上以静态方法的方式调用Redis客户端提供的任何命令(Redis命令大全),然后Laravel使用魔术方法将命令传递给Redis服务器并返回获取的结果。
register 方法用于绑定服务到容器,框架会先调用所有 provider 的 register 方法,等所有服务都注册完毕再去调用每一个服务的 boot 方法。...所以不能在 register 方法里面调用其他 provider 提供的服务,因为我们无法保证其他服务已经注册完毕。 而在 boot 方法里面你可以干任何事情!
fun() { int n = 6; int i = 0; for (i = 0; i < 3; i++) { n += i; } return n; } 不过,如果使用...整形变量n的作用域是swtich..case结构被花括号括起来的整个部分:虽然整形变量n的定义在case 1标签下面,但它对于case 2和case default都是可见的,可以把case 2和case...站在编译器的角度,如果对整形变量n进行初始化操作,那么则相当于默认switch..case会跳转到case 1标签下,这显然是一种置case 2和case default于不顾的非法行为;如果不进行初始化操作...defalut的下面不是必须要加一对花括号,因为它们下面并没有局部变量的定义和初始化操作。...但是,在所有case label下都加上一对花括号是一个很好的习惯,因为随着代码量的增加,万一这个label下面发生了变量的定义和初始化操作而没有引起注意的话,调试起来可能会很麻烦。
前言 本文主要给大家介绍的是关于Laravel用户授权系统使用的相关内容 首先两个概念分清楚: 用户身份认证 Authentication - 处理用户登录, 退出, 注册, 找回密码, 重置密码, 用户邮箱认证...如: $this->authorize('create', Post::class); 使用的场景有:控制器辅助方法,中间件,Blade模板,User 模型的 can 和 can't 方法。...授权动作 allows 和 denies 两种方法,表示允许和否定。 第一个参数是权限的名称,第二个参数是模型,可以为空。这里不需要传入用户,框架会自动处理。...当 authorize 方法调用的时候,实际上会自动注入 User 和 Post 类型的两个参数,也因此使用授权系统必须是用户登录的情况下。...官方文档 Laravel 5.5 文档 以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,如果有疑问大家可以留言交流,谢谢大家对的支持。
上一次有点匆忙,如何使用介绍的不是太清楚,而且这两天有改掉了几个bug,所以这次呢详细说一下,然后更新一下代码和demo。 ...源代码和demo的下载:http://www.cnblogs.com/jyk/archive/2008/07/29/1255891.html JYK.Controls.Pager.QuickPagerSQL...Max分页算法只支持一个排序字段,例如: “ID”、“ID desc” 目前其他的分页算法支持多个排序字段,例如:“col1,col2 desc”、“col1,col2,col3” 、“col1 desc...要先设置排序字段,然后在选择分页算法。各个属性都设置完毕后才能调用CreateSQL(),最后才能调用GetSQLByPageIndex(3)获得SQL语句。...我个人的给视图命名的规则是这样的, V_项目标志_功能标志_大模块、小模块的标志_表名、功能_[写视图的人的简称] V :表示这是一个视图,和表名、储存过程的名称相区别。
领取专属 10元无门槛券
手把手带您无忧上云