随笔分类 - laravel
摘要:相关文档:中文文档、英文文档 envoy 是什么? envoy 是一个支持 blade 语法的 ssh 远程命令执行的工具。具体来说就是,通过配置 ssh 的账号、密码、key 这些,然后可以使用 envoy 运行一些预定义的命令(比如 git 更新什么的)。 安装 怎么使用? 配置(~/.ssh/
阅读全文
摘要:1、更高效率地查询:使用批量查询代替 foreach 查询(多次 io 操作转换为一次 io操作) 如果想要查看更详尽的介绍,可以看看这篇文章 什么是 N+1 问题,以及如何解决 Laravel 的 N+1 问题? 在维护的项目中, 我发现了有不少需要查询关联数据的时候是这样做的:先查询出列表,然后
阅读全文
摘要:我们假设一下,我们有一个方法,拥有多达 20 多个参数,如: 这种情况下,我们可以想象到后续维护时候的痛苦,尤其是,需要增加或者删除参数的时候。 今天看 Redis 的 Queue 源代码的时候发现,里面的 Worker 的配置项是有一个独立的类来维护的: 源代码查看:Illuminate/Queu
阅读全文
摘要:$tables = DB::connection()->getDoctrineSchemaManager()->listTableNames(); 需要 doctrine/dbal 扩展,laravel 本身也依赖这个扩展,所以无需额外安装
阅读全文
摘要:1. 在修改 queue 相关代码后,必须要使用 php artisan queue:restart 来重启队列服务,否则所做的修改可能不会生效(没法重现了,按理说应该和使用 queue:listen 或 queue:work 有关,不过最好还是重启;可能和 supervisor 开启多个 queu
阅读全文
摘要:默认情况下,toSql 获取到的 sql 里面的参数使用 "?" 代替的,如下: 获取到的 sql 语句是: 有时候我们想要得到具体的语句,可以利用 builder 的 getBindings 方法: 获取到的 sql 语句是: 如果经常使用可以考虑使用 Builder 的 macro 方法加进 B
阅读全文
摘要:说明 性能一直是 Laravel 框架为人诟病的一个点,所以调优 Laravel 程序算是一个必学的技能。 接下来分享一些开发的最佳实践,还有调优技巧,大家有别的建议也欢迎留言讨论。 这里是简单的列表: 1. 配置信息缓存 使用以下 Artisan 自带命令,把 config 文件夹里所有配置信息合
阅读全文
posted @ 2018-06-21 22:47
佚名000
摘要:其实官方文档有说,只是没看仔细。 正常情况下,修改 php 代码是不用重启什么东西的, 但是 laravel 中的 job 不一样, 如果不用 php artisan queue:restart,新 dispatch 的 job 跑的还会是原来的代码。 也就是说,如果发现 job 有 bug,改了之
阅读全文
摘要:有时候我们想在命令行执行一些耗时的命令,我们可以利用 symfony 提供的进度条相关的类,来输出一个进度条,显示当前的处理进度。 参考:http://symfony.com/doc/current/components/console/helpers/progressbar.html 效果: 输出
阅读全文
摘要:有可能是配置缓存导致的, 运行: php artisan config:clear 可清除配置缓存,配置缓存保存在 bootstrap/cache/config.php,可以直接去那文件夹看看是不是缓存导致的。 还有另外一个缓存文件 bootstrap/cache/services.json,上面的
阅读全文
摘要:上次干这事已经是一年前了,之前的做法特别的繁琐、冗余,具体就是创建一个自定义 Builder 类,继承自 Query\Builder,然后覆盖 Connection 里面获取 Builder 的方法,返回自定义的 Builder,还有其他一系列很长的步骤。 下面是之前的做法: (算了,还是不说了,太
阅读全文
摘要:一直以来,想调试框架中的某些东西,如想知道 Elpquent 的 create 方法返回值是个什么东西, 以前的话,应该就是在 create 方法调用之后,使用 dd 或者 var_dump 之类的函数打印出来 如: 这样一来,这个流程似乎有点冗长,因为我们还要打开浏览器查看 有了 tinker,我
阅读全文
摘要:通过控制台的 cookie 信息我们会发现,每次请求之后,关键的 cookie,如PHPSESSID、XSRF-TOKEN 都会发生变化,并且都是很长的一串字符串。 其实这是一个 json 数组,其中包含了 iv,value,mac 三个字段: 这些字段都是在框架加密解密的时候使用的,加密方法是 o
阅读全文
摘要:(图片有点大,可右键新tab查看) User模型 使用with查询某个user及其的profile 上面的用法中,我们会发现,即使数据库有记录,sql也记录了对应的查询语句,但是profile关联却是空的, 但是加上外键就可以得到正确结果了: 可以查找到正确的profile了。 这和 laravel
阅读全文
摘要:对laravel官方文档没有说明的方法做一下注释
阅读全文
摘要:模型定义 需要注意的是 associate 方法是 BelongsTo 类才有,所以正确的调用方法如下: 与此相反的方法是 disassociate 方法:取消两个模型之间的 belongsTo 关联 此方法需要注意的是,disassociate 并不会删除记录,只是更新关联的字段为 null 附(
阅读全文
摘要:1、新增一条记录以及判断是否新增成功 这里会过滤掉不在模型的 $fillable 字段里面列出的字段。 2、Eloquent 以及 DB 获取某一列的方法 DB类可以直接调用lists方法,如 DB::table('xxx')->lists('name'); Eloquent 有点不一样,因为返回的
阅读全文
摘要:用户表user 标签表tag 中间表user_tag(user_id,tag_id) 在user模型中定义tags关联如下: 上面的belongsToMany方法中的第二个参数 user_tag 是中间表,保存了user_id和tag_id。
阅读全文

浙公网安备 33010602011771号