分类下相关文章
2019-03-22 · 阅读 10936 · 字数 270
在使用 Maatwebsite/Laravel-Excel 将后台用户数据导出到 Excel 中时,遇到一个诡异的问题。 部分用户的微信昵称在 Excel 中不显示,Excel 版本为 2019。 同时,Excel 的顶部还出现一条风险提示: office已检测到文件存在问题 编辑此文件可能存在风险 经同事测试,发现当微信昵称中存在 emoji 表情时,就能百分比重现此问题。看来是 Excel 把 emoji 当成了非法字符。 所以解决方案就是把昵称中的 emoji 过滤掉,然后导出到 Excel。 实现方法参考这里 https://stackoverflow.com/questions/ ...
2019-03-15 · 阅读 8298 · 字数 173
需求场景 为注册会员生成独有的邀请码,每个会员一个,不能重复。为了方便传播,邀请码的位数暂定为 5 位,由数字和大写字母组成。 为了防止邀请码重复冲突,我在会员表的邀请码字段上加了个唯一索引。 但是,邀请码是在微信支付成功的回调逻辑里触发的,5位的邀请码,还是存在冲突的可能,可以加了个不断重试的机制。 实现代码 /** * 生成邀请码 */ public function gen_invite_code() { $chars = "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ"; $res = ""; ...
2019-03-05 · 阅读 11528 · 字数 510
2019 年 2 月 26 日,Laravel 新版本 5.8 发布。粗略地扫了一遍新功能列表,感觉没有任何尝试的必要,根本没有升级的冲动。都是不痛不痒的小功能更新。只不过有些修改确实无法向下兼容 5.7 版本,例如 TTL 的单位问题,所以不得不发了 5.8 版本,我觉得是这样。 Laravel 5.8 要求 PHP 版本 >= 7.1.3。 一些新功能: 集成了 PHP dotenv 3.0 随之而来的新特性使 .env 的配置更加灵活: 支持了多行变量。例如 LOCATION="烟台 开发区" 不再对配置字符串进行 trim 操作。 可配置从一堆路径中查找 . ...
2019-02-11 · 阅读 5265 · 字数 203
早上看到几个 Laravel 的网站项目报同一个错误 ERROR: Creating default object from empty value {"userId":5,"exception":"[object] (ErrorException(code: 0): Creating default object from empty value at app/Http/Controllers/ProductController.php:15) 从 Nginx 日志看,错误是因为搜素引擎的爬虫,抓取了一个不存在的商品链接,例如 https: ...
2019-01-25 · 阅读 15180
问题 现在需要定期遍历物流快递表,以更新物流的状态。但是,这个表在线上生产环境可能非常大,一次性取出来遍历可能爆掉服务器内存。 而使用 chunk 方法,会出现漏掉一半数据未处理的情况: 例如,有 A B C D E 五个物流快递单,每次 chunk 取出两条数据。 第一次取出 A B, 处理完之后,A B 标记为已处理 第二次取时,由于 A B 标记为已处理,在取第二页时,直接跳过了 C D,直接取出了 E。 C D 就被漏掉了 使用 chunkById Laravel 5.5 文档中,并没有说明有 chunkById 这个方法;而 Laravel 5.7 中有专门的说明: If ...
2019-01-24 · 阅读 12361
需求场景,当订单表中的快递公司,或者快递单号发生改变时,更新快递表中的相关字段。 要满足这个需求,就需要能知道订单 Model 更新时,是否修改了这两个字段。 解决方法是使用 getChanges 方法,例如: $order->express_company = '顺丰'; $order->save(); Log::info($order->getChanges()); [2019-01-24 09:46:01] local.INFO: array ( 'express_company' => '顺丰', 'updated_at' => '2019-0 ...
2019-01-18 · 阅读 6175
wx.config(<?php echo app('wechat')->js->config(array('updateAppMessageShareData','updateTimelineShareData'), false) ?>); Windows 上报错 cURL error 60: SSL certificate problem: unable to get local issuer certificate (see http://curl.haxx.se/libcurl/c/libcurl-errors.html) 解决方法 到 https:// ...
2019-01-16 · 阅读 8634
在前端用 js 设置的 cookie,在后台用 Laravel 始终获取不到,取到的值为空。 例如 $value = $request->cookie('dingding_id'); 问题的原因 Laravel 默认认为 cookie 是被加密过的,例如,在后台设置的 cookie,会被自动加密。 而前端 js 新增的 cookie 是没有加密的,所以 laravel 认为是个无效的 cookie。 解决方法 修改 app/Http/Middlewares/EncryptCookies.php protected $except = [ 'dingding_id', ]; ...
2019-03-02 · 阅读 20088 · 字数 191
在进行复杂查询时,我有时候会对 laravel eloquent 生成的 sql 语句没有信心,需要打印 sql 语句以核对。 方案一:toSql() $sql_orders = Order::where('user_id', $user_id); Log::debug($sql_orders->toSql()); 日志输出为: local.DEBUG: select * from orders where user_id = ? 方案二:DB::getQueryLog() 显示最后一条查询 DB::enableQueryLog(); // 注意,在查询前,需要启用查询日志 $sq ...
2019-01-11 · 阅读 8651
需求 在使用 laravel backpack table 组件时,需要对几个自定义规格字段做校验。例如: 名称、销售价格、成本价为必填 价格确认为数字 而这个是用 laravel 自带的校验规则无法满足的。 自定义校验规则 新建一个 Rule Objects php artisan make:rule SpecFieldRequired 此时,会发现多了一个文件 app/Rules/SpecFieldRequired.php 模拟的输入数据 local.INFO: [{"name":"1斤装","price":"5 ...
2019-01-09 · 阅读 7933
最近总是看到服务器日志中出现 local.ERROR: Creating default object from empty value 但是,并不知道具体是哪里记录的,需要定位这行错误是哪里抛出来的。 > grep Log::error -r app/ app/Http/Controllers/Admin/CommentCrudController.php: Log::error($e); app/Http/Controllers/Admin/SmsController.php: \Log::error($e); app/H ...
2019-01-07 · 阅读 9123
希望得到的效果 在 web 网站中,一些页面的数据需要登录之后才能拉取。 在用户未登录时,ajax 请求某个 API,后台报 401 未授权错误 在用户登录后,可以正常 ajax 调用该 API 是否登录需要使用当前 web 的登录状态,所以不能使用类型小程序那种 token 的方案。 解决方法 修改 app/Http/Kernel.php middlewareGroups 中 api 的配置,添加两行: \App\Http\Middleware\EncryptCookies::class, \Illuminate\Session\Middleware\StartSession::clas ...
2019-01-04 · 阅读 10351
由于 JSAPI 调用微信支付需要用户的 openid,所以要了解如何获取到 openid。 还是官方的文档说的清楚 https://mp.weixin.qq.com/wiki?t=resource/res_main&id=mp1421140842 以 snsapi_base 为 scope 发起的网页授权,是用来获取进入页面的用户的 openid 的,并且是静默授权并自动跳转到回调页的。用户感知的就是直接进入了回调页(往往是业务页面)。 应该是用在登录之后,如果没有绑定 open_id 就应该立即调用授权。 前端判断是否在微信中,同时判断是否有 openid,如果在微信中,已登录并且 ...
2019-01-04 · 阅读 12439
场景 我自定义了一套 laravel 的登录逻辑,使用手机号加验证码登录,没有使用 laravel 内置的登录逻辑。 实现方法 先列一下解决方法,然后再一一说明。 例如,如果购物车页面需要登录之后才能访问,并且点击购物车,弹出登录页面,完成登录之后,需要跳回到购物车页面。 首先需要在 route 上加上权限控制。 Route/web.php Route::get('cart', [ 'uses' => 'CartController@cart_index', // 购物车页面 ])->middleware('auth'); 在 web.php 内的 route 不 ...
2018-12-29 · 阅读 11360
非常诡异的一个问题。 在 route 中定义了 login 的路由,但是访问 login 链接时,一直报错 The requested resource /login was not found on this server 而这个 404 页面又跟平时的 Laravel 404 页面完全不同。 检查才发现项目根目录的 public 目录下,有个同名的 login 目录,所以请求 login 链接时,实际上请求的是 public 下的 login 目录。。。 把 public 下的 login 目录更名之后,就解决了这个问题。 ...
生活 | 跑步 清单 足球 鲁班 探索 孤独的美食家 驾驶 电视剧 收纳 奶爸 健康 game 电影 周末 joke |
---|---|
Geek | 健身 Laravel Git Vim MySQL Linux UI Windows SVN 纪录片 管理 Shell 游记 工具 手机 BackboneJS 自建博客 Mac DNS Tornado CDN Django Python AngularJS 理财 前端 Nginx 爬虫 Redis Javascript Browser 浏览器 推广 OAuth CSS PHP Social Networks 安全 运维 创业 杂记 VueJS Android Image IDE Java ReactJS 数据分析 SQLite RESTful 读书笔记 家电 ecshop Vagrant wordpress docker SEO GTD magento mongodb nodejs weex 冷知识 ruby iOS 微信小程序 AI CMS 快应用 backpack 广告联盟 OA 短信 UWP Win CSharp Tampermonkey graphviz 钉钉 WPS 数据字典 微信公众号 Fuchsia Adobe XD SQL Server thinkphp 代码规范 商业模式 Flutter 头痛的问题 serverless 视频制作 国际化 golang 服务器 Kotlin 网站建设 5G 笔记本 图片 spark spring 物联网 InfluxDB 图像识别 postgre rust |
成长的烦恼 | 闲言碎语 待产 不睡觉 写作 程序员 孙心然语录 原则 大鸿语录 |
地球 | 植物 时间 中文 赚钱 国家地理 烟台 一生伏首拜阳明 emoji 弟子规 英文 国际贸易 |