分类下相关文章
2017-11-07 · 阅读 9520
MenuCRUD 非常不人性的地方是,新增一个节点是没有自动计算 left, right 属性,必须手动点击“重新排序”按钮,提交之后才能生成。 对于普通的用户,我都没有脸去解释为何要多点这两次按钮。所以,我决定改造 MenuCRUD。 很快找到了一个 laravel 的实现: https://github.com/lazychaser/laravel-nestedset 我才知道这货的学名是 nested set model 改起来异常简单: +use Kalnoy\Nestedset\NodeTrait; class MenuItem extends Model { us ...
2017-10-28 · 阅读 13404
最近线上 Laravel 错误日志发现了一个异常 HTTPException Too Many Attemps 而我一个同事在本地开发的过程中也频繁遇到这个异常。测试环境:Laravel 5.5。 网上查了一下,是 Laravel 5.2 引入的 throttle middleware 造成的。 源码参考 https://github.com/illuminate/routing/blob/master/Middleware/ThrottleRequests.php public function handle($request, Closure $next, $maxAttempts = ...
2017-10-24 · 阅读 7205
backpack 的搜索功能有个致命缺陷,即对 created_at,updated_at 进行 like 操作,这样会造成搜索中文关键词时出现异常 Illegal mix of collations for operation 'like' 解决过程 find . -name AjaxTable.php ./v ...
2019-10-13 · 阅读 33487
例如 protected $fillable = ['name']; protected $guarded = ['price']; 定义了 name 字段可以写入/修改,而 price 字段不可以。 需要注意的是,fillable 与 guarded 只限制了 create 方法,而不会限制 save。 我觉得 Laravel 这样设计的原因是,create 通常是使用 request 中的所有请求参数来创建对象,而 save 则是一个字段一个字段的手动赋值,所以 create 有可能会恶意加入不应该插入的字段,例如 is_admin。基于此,create 还是需要有 fillable, ...
2019-05-08 · 阅读 16457 · 字数 405
例如,我想加一个新功能,24小时内未支付的订单自动变更状态。以前都是通过系统 crontab 定时执行,但是缺点很明显。每次都需要手动配置 crontab,不方便在项目中集中管理。 看了一下 Laravel 的 scheduling 确实方便不少。 避免并发执行 $schedule->command('emails:send')->withoutOverlapping(); 这里需要注意,对于 call function 定义的计划任务,需要定义 name。否则会报错 production.ERROR: A scheduled event name is required to ...
2017-10-12 · 阅读 16050
今天在使用 Laravel 的事务的时候,一直报变量未定义的错误 $order_id = 12; DB::transaction(function () { $tmp = $order_id; }); Undefined variable: order_id 仔细一看,才发现这是个匿名函数 匿名函数 所以正确的使用方式是 $order_id = 12; DB::transaction(function () use ($order_id) { $tmp = $order_id; }); 参数写在哪里,第一个括号还是第二个括号 这是第二次见到 PHP 的匿名函数,所以比较新鲜。。 ...
2019-03-11 · 阅读 10291 · 字数 327
Laravel 没有像 Django 一样内置发送异常邮件的功能,而这个功能非常实用,特别是 服务比较多的情况下,不可能每个服务都去线上查看日志 节假日可以及时接收服务异常信息 环境 Laravel 5.5 具体的代码实现,参考下面的一个链接里的文章。 163 邮箱的配置 .env 配置 MAIL_DRIVER=smtp MAIL_HOST=smtp.163.com MAIL_PORT=25 MAIL_USERNAME=xxx@163.com MAIL_PASSWORD=xxx MAIL_ENCRYPTION=null MAIL_FROM_ADDRESS=xxx@163.com MAIL_ ...
2017-09-28 · 阅读 8074
例如,模板文件中有一个翻译 trans('backpack::base.logout') 但是没有对应的 zh-CN 翻译。 如何添加对应的翻译? 对应的路径是什么? 加上了 backpack:: 前缀,代表了什么? 文件夹? 代表的是 package 名 例如,有些包自带了语言包,但是又遗漏了我们需要的语言,例如 zh-CN, 而我们有时来不及提交 git patch,又不能直接修改 vendor 下的文件。 那么,解决方案就是,在 resources/lang/vendor/{package}/{locale} 目录下,加上对应的翻译即可。 翻译获取的方法 两种用法 {{ __('me ...
2017-09-28 · 阅读 9296
开发环境 Laravel 5.5 按照 github 的安装文档,安装最新的 4.0 版本 composer require "overtrue/laravel-wechat:dev-master" 报错 ./composer.json has been updated Loading composer repositories with package information Updating dependencies (including require-dev) Your requirements could not be resolved to an inst ...
2017-09-20 · 阅读 15478
早晨蹲坑的时候,在 reddit 上看到 voyager 发布了 1.0 版,这是个与 Laravel backpack 类似的 Admin 方案。 于是早上过来安装 voyager 尝试了一下 几点感触 非常类似 Wordpress 的后台 数据表的管理在 admin 后台进行,比 backpack 方便很多,但是细节上的调整还是要使用 mysql 客户端。例如,字段位置,索引等 关联表管理非常简单,点选即可。但是问题和 Backpack 一样,都不支持外键关联表的多字段显示。例如,一个订单表,关联了用户信息,要同时显示用户姓名和手机号,就无法实现。只能显示用户的一个字段。 内置功能非常完 ...
2017-09-18 · 阅读 7179
默认 Backpack 上传的图片是保存到本地,但是现实场景中都是用 CDN 存储图片,以提升用户体验。所以就需要改造上传的流程,这里用到了 Laravel 七牛的接口实现。 根据 Backpack 文档的说明,需要在 mutator 中进行改造。 参考 Laravel 文档,https://laravel.com/docs/5.3/eloquent-mutators#defining-a-mutator Mutator 名词,增变基因 To define a mutator, define a setFooAttribute method on your model where Foo i ...
2017-09-14 · 阅读 10134
修改了 Laravel Backpack Settings 自带的 seeder 导入测试数据时,报错 php artisan db:seed --class=SettingsTableSeeder [ReflectionException] Class SettingsTableSeeder does not exist 解决方法 composer dump-autoload dump-autoload 是 composer 的一个命令,与 laravel 无关。 ...
2017-03-16 · 阅读 19390
Model 中,如果启动了 timestamps public $timestamps = true; 默认,laravel 会操作对应数据表的 created_at, updated_at 字段。 但是,有时由于是历史遗留项目,对应的数据库字段名不是 created_at, updated_at 就需要指定字段。例如 const CREATED_AT = 'created'; const UPDATED_AT = 'updated'; public $timestamps = true; 测试环境 Laravel 5.4 ...
2017-03-10 · 阅读 23393
使用 laravel backpack 作为 laravel admin 时,发现不知道如何修改界面的语言。其官方的文档中也没有找到对应的说明文档,于是猜测可能是 laravel 的配置,与三方包没有关系。测试了一下,果然如此 例如,要将默认的英文语言包切换为简体中文,需修改 config/app.php 中的配置 'locale' => 'zh-CN', 而 backpack 并没有简体中文的语言包,于是 copy 了一份繁体中文的语言包到 zh-CN 目录下,例如 resources/lang/vendor/backpack/zh-CN 刷新一下页面,就能看到对应的翻译生效了。 ...
2017-01-25 · 阅读 9011
Laravel 的版本迭代还真是快,5.3 我还没升级完,5.4已经发布了。 粗略扫了一下 Laravel 5.4 的新特性,还是不少亮点 Laravel Dusk 一套用于界面交互测试的工具。比较适合做功能性的冒烟测试。 Laravel Mix Laravel Elixir 的升级替代品,使用 webpack 替换掉了 gulp。最近刚接触的 Sage 9 新版本也是用 webpack 替换掉了 gulp, 虽然我不太明白为何 gulp 这么好用的东西这么快就被淘汰了,但是从上手程度来看,webpack 并不陡峭。 其他新特性 Blade Components and Slots Mark ...
生活 | 跑步 清单 足球 鲁班 探索 孤独的美食家 驾驶 电视剧 收纳 奶爸 健康 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 弟子规 英文 国际贸易 |