首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

Laravel5.2之Seeder填充数据小技巧

说明:本文主要聊一聊Laravel测试数据填充器Seeder小技巧,同时介绍下Laravel开发插件三件套,这三个插件挺好用哦。同时,会将开发过程中一些截图代码黏上去,提高阅读效率。...设计字段 按照上文提到Category、Post、CommentTag之间关系创建迁移Migration模型Model,项目根目录输入: php artisan make:model Category...Tag是多多关系,还需要一张存放两者关系: //多多关系,中间命名laravel默认按照两张表字母排序来,写成tag_post会找不到中间 php artisan make:migration...Laravel官方推荐使用模型工厂自动生成测试数据,推荐这么写: //先输入指令生成database/seeds/CategoryTableSeeder.php文件: php artisan make...分享下最近发现一张好图一篇极赞文章: 文章链接:Laravel中大型專案架構

3.5K42

Laravel5.2之模型关联预加载

说明:本文主要说明Laravel Eloquent延迟预加载(Eager Loading),使用延迟预加载来减少MySQL查询次数。同时,会将开发过程中一些截图代码黏上去,提高阅读效率。...备注:现在有4张:商家merchants、商家电话phones、商家拥有的店铺shops店铺里商品products。...开发环境:Laravel5.1+MAMP+PHP7+MySQL5.5 先写个店铺列表页 1.先装上开发插件三件套(具体可参考:Laravel5.2之Seeder填充数据小技巧) 不管咋样,先装上开发插件三件套...预加载查询 (1)嵌套预加载 Eloquent通过属性访问关联数据时是延迟加载,就是只有该关联数据只有通过属性访问它时才会被加载。查找上层模型时可以通过预加载关联数据,避免N+1问题。...而且,使用预加载超级简单。

2.5K41
您找到你想要的搜索结果了吗?
是的
没有找到

laravel实现按时间日期进行分组统计方法示例

按日期进行分组 //统计七天内注册用户数量按天进行分组 $user = DB::table('users')- whereBetween('created_at',['2018-01-01','2018...value": 199 #数量 { "date": "2018-01-02", "value": 298 }, { "date": "2018-01-03", "value": 1000 } #进行图表统计时候直接从数据库取得数据有些日期可能是没有的...value": 1497 #数量 }, { "date": "2018-02", "value": 2354 }, { "date": "2018-03", "value": 4560 } #进行图表统计时候直接从数据库取得数据有的月份可能是没有的...实现各时间段数量统计、方便直接使用 因项目中用到了图表之类信息,需要获取到很多时间数据动态,刚开始我都是自己换算时间来计算,后来 看到手册中有更简单方法,自己总结了一下通用时间段统计(今天、昨天...::now()- year)- count(); return $data; } 总结 以上就是这篇文章全部内容了,希望本文内容大家学习或者工作具有一定参考学习价值,谢谢大家ZaLou.Cn

1.9K40

Laravel利用redis定时任务实现活跃用户统计

最近在SummerLaravel教程-Web开发实战进阶》学到很多东西,以前只会看文档,大概了解Laravel内容而在实际运用中确不知道该怎样做,碰到一个需求不会立马联想到“这个东西可以用...实现...不是有句话”实践是检验真理唯一标准“ 所以学习编程还是要多实践多写项目,不然就像我一样拿到东西不知道怎样运用 废话不多,今天分享一下利用redis定时任务实现活跃用户统计 如果你redis定时任务不了解建议去补一下...linuxredis 以及laravel任务调度 活跃用户算法 我们规定系统每个小时,统计最近7天用户所发表帖子数评论数。...用户发布帖子+4分 用户发布评论+1分 最后计算所有人得分进行倒序排序 取前八个用户显示主页活跃用户栏 类似 需求已经明确我们开始编写代码,不过在编写代码之前我们需要.env中指定缓存驱动为redis...; } } 接下来我们就可以输入 php artisan larabbs:calculate-active-user 执行 上面handle方法 定时任务 我们不可能每一个小时都手动调用

89420

深入研究 Laravel ORM (Laravel Eloquent) 系统 (一) – 概要

本文作为 Laravel ORM 系统研究开篇,主要对 Laravel ORM 系统主要功能、依赖第三方类库、系统目录结构及对应目录所实现功能,进行解释说明。...一、Laravel ORM 概要 Illuminate database(Laravel ORM) 组件 GitHub 地址 1.1 Laravel ORM 简介 Illuminate database...当前支持 MySQL, Postgres, SQL Server SQLite 四款数据库。此外还提供在 Laravel 框架内使用数据库抽象层 DB 类。...非但如此,database 组件提供了能在非 Laravel 框架以外项目使用接口 Capsule 类。...即 Laravel 契约接口,定义了 Laravel 框架核心服务契约接口 paragonie/random_compat 是一套提供 random_int() random_byte() 等函数在内随机字符生成类库

5K20

3分钟短文:Laravel模型读数据那个“障眼法”

引言 通过前几篇文章视图路由介绍,我们通过模型对象操作数据库laravel模型精巧设计使得我们操作数据层逻辑更加得心应手。 [图片] 本文我们来说说模型在读写数据中所使用技巧。...日期时间格式化 先从最常用地方着手,比如在迁移文件内使用 timestamps方法,就是内生成 created_atupdated_at两个 datetime 类型字段,用于标记该记录创建时间更新时间...laravel框架继承了广泛使用稳定可靠 Carbon 类库用于操作日期时间。...为了测试方便,我们不需要写额外代码,直接使用 tinker 命令行交互工具,命令行输入: tinker 进入交互界面,然后我们使用模型查询一条 events 数据,并访问其属性: namespace...= ['created_at','updated_at','started_at']; 那么这三个字段都会使用 Carbon 进行格式化,访问模型对象属性时,就会返回该Carbon对象。

92311

分享8个Laravel模型时间戳使用技巧小结

默认情况下,Laravel Eloquent 模型默认数据有 created_at updated_at 两个字段。当然,我们可以做很多自定义配置,实现很多有趣功能。下面举例说明。 1....其他属性方法 } 2. 修改时间戳默认列表 假如当前使用是非 Laravel 类型数据库,也就是你时间戳列命名方式与此不同该怎么办?...多多:带时间戳中间 当在多关联中,时间戳不会自动填充,例如 用户 users 角色 roles 中间 role_user。...使用 latest() oldest() 进行时间戳排序 使用时间戳排序有两个 “快捷方法”。...默认情况下,created_at updated_at 字段被自动转换为 $dates, 所以您不需要将他们转换为 Carbon 实例,即可以使用 Carbon 方法。

3.7K31

Laravel使用简单方法跟踪用户是否在线(推荐)

今天,我任务是,Laravel应用程序用户个人资料页面上,用户名旁边添加一个绿点,表示他们是否在线。我首先想到是,我们将需要启动一个node.js服务器并跟踪每个用户活动套接字连接。...如果他们最后一次活动X分钟内,我们会显示“在线”徽章,如果没有,我们不会。简单! 让我们为用户上次活动在用户中添加一个字段,并且在请求每个页面时更新它。...然后当我们需要检查用户是否在线,我们可以将该时间戳与当前时间戳进行比较,如果在X分钟内,则他们在线!...如果您使用Laravel 5.1 或 更早版本, 您应该把代码直接放置到middleware 数组中。...总结 以上所述是小编给大家介绍Laravel使用简单方法跟踪用户是否在线,希望大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家

2.2K41

3分钟短文:Laravel Carbon自定义日期时间格式

引言 laravel引用了强大Carbon日期时间处理库用于日期时间操作, 并且在数据库格式化中使用该库。本文就说一说程序中如何方便地使用 Carbon自定义格式。...学习时间 只要成功安装了laravel项目,已经内置了标准carbon库文件,比如说写入数据库字段 created_at 时是这样格式: $item['created_at'] => "2020...']); 获取到Carbon对象之后,使用格式化函数进行字符串格式化操作。...,模型中逐步引入了更加丰富特性,比如说 casts 特性, 可以支持模型数据查询后进行指定格式化操作,省却了不少繁琐操作。...模板中打印默认格式日期时间字符串,可以这样使用: {{$user->created_at->toFormattedDateString()}} 写在最后 本文介绍了laravel模型中 $casts

3.5K20

laravel那些坑

5 下使用 HTML Form 说明 Laravel 5 因为采用了另一套不同架构, 而把 HTML Form 类从核心里面移除....使用方法 以前写法是这样 {{Form::open()}} {{Form::close()}} 现在变成这样了 {!! Form::open() !!} {!!...后来发现在laravel5 下面用 html即使按照上面设置 还是有问题, 根本搞不定,所以还是放弃了laravel5下面使用htmlform想法,干脆还是先用laravel4吧,毕竟教程也多。...数据迁移时,系统报错说是基migrations不存在, 这时候需要先执行命令生成migrations $ php artisan migrate:install 然后再执行 $ php artisan...只要在/app/config/app.php 文件下增加一条别名'aliases' 'Carbon' => 'Carbon\Carbon', 即可 controller里 $this->beforeFilter

1.8K20

Laravel 优雅之处 之,Passport搭建SSO系统

Laravel 是一个流行 PHP 框架,都说其许多方面都优雅之处,比如:优雅认证系统:Laravel 自带认证系统提供了一种优雅方式来处理用户登录注册,开发人员只需几行代码即可实现这些功能...优雅 ORM:Laravel Eloquent ORM (对象关系映射) 具有简单、优雅且易于使用语法,它可以让开发人员轻松地与数据库进行交互。...下面是一些大致步骤:首先, Laravel 项目中安装 Laravel Passport 包,并按照官方文档进行配置。接着,需要创建一个专门用于授权 Passport 客户端。...在这里,我们将使用“password”类型,因为我们希望用户能够使用用户名密码进行身份验证。...auth()->user() : null;});接下来,我们需要创建一个路由来处理用户身份验证请求。可以使用 Laravel 自带 AuthController 类来处理此请求。

99750

3分钟短文:说说Laravel通用缓存Cache使用技巧

引言 前一期我们介绍了存储用户会话数据到服务器,并通过框架提供Session类 进行数据读写操作方法。...代码时间 laravel设计上做了很巧妙构思,将缓存相关类,设计得有插接件感觉。...cache缓存配置文件 config/cache.php 内,支持驱动默认是 file, 也就是文本文件存储。...因为封装得过于精巧, 所以助手函数内定然是进行了大多数情况判断。我们源码稍作解析,以便明白其处理方法。...laravel日期时间处理默认使用Carbon类库,所以缓存也用到了该库, 并且把用法发挥到极致了。 比如我们可能想动态地设置过期时间,不计算时长,能不能设置为 到某个时间点结束 ? 自然是可以

2K00

laravel - 根据数据库逆向生成迁移文件

”这个库,但是很明显作者从2017年之后,就没有再维护过了,很显然是不适合laravel9.x去用,所以我找到了一个可以完美平替库 生成迁移 首先需要在config/database.php配置好数据库连接信息...(亲测支持前缀),然后使用composer安装库 composer require kitloong/laravel-migrations-generator 之后使用laravelartisan就可以逆向生成迁移文件了...视图外键将在 +1秒内创建....时间必须通过 Carbon::parse去格式化 --table-filename[=TABLE-FILENAME] 自定义迁移文件名,默认为: [datetime]\_create_[name]_table.php...--default-index-names 不使用数据库索引进行迁移 --default-fk-names 不使用数据库外键进行迁移 --use-db-collation 使用现有数据库排序规则生成迁移

1.5K50

Laravel框架使用MongoDB遇到问题解决

之前说,我一直是将macOS作为开发平台,直接在macOS系统配置Nginx PHP及MySQL,由于项目需求,需要使用到MongoDB,这篇就是一部macOS系统下运行Laravel框架使用MongoDB...为了不污染正式开发代码,我新建了一个Laravel工程,版本是5.5 LTS,MongoDB扩展使用是**laravel-mongodb**,根据文档,安装该扩展命令为: composer require...如果系统不自带相应扩展,就需要我们手动使用pecl安装,根据PHP官方文档,macOS/Linux/Unix系统下,只需这一行命令即可: sudo pecl install mongodb 复制代码...当然,那只是一般情况,国内特色网络情况下,如果直接运行很可能会因为网络原因而报错,建议挂个命令行dl再进行安装试试。...如果实在是下载不下来,也可以到这里下载对应版本源码包进行手动安装。

95920

Hive个人笔记总结

程序,对数据进行分析 Hive分析数据必须是结构化数据,分析之前,用户需要对数据创建结构 Hive结构(shema)存储关系型数据库中,数据是存储HDFS上,二者通过进行映射 Hive...使用hive之前,需要对数据进行ETL,转为结构化数据 ②在建时,需要指定正确分隔符,不然hive在读取每行数据时,无法将字段和数据进行映射 1.11 hive本质 ①hive中创建,...②数据,是以文件形式HDFS对应目录中存放! ③在建建库后,会在Mysql中生成对应shema信息! 1. TBLS: 存放元数据 2....map端完成reduce。 实际测试发现:新版hive已经join大join小进行了优化。小放在左边右边已经没有明显区别。...= 100000 -- (1)(2)配合使用 (3)有数据倾斜时候进行负载均衡(默认是false) hive.groupby.skewindata = true 当选项设定为 true,生成查询计划会有两个

2.5K30

3分钟短文 | Laravel SQL筛选两个日期之间记录,怎么写?

引言 今天说一个细分需求,模型中,或者使用laravel提供 Eloquent ORM 功能,构造查询语句时,返回位于两个指定日期之间条目。应该怎么写? 本文通过几个例子,为大家梳理一下。...to laravel中你可以使用 whereBetween 这个查询子句。...当然了,上面的方法是SQL中直接进行筛选,如果查询结果限制条目本身比较少,也能充分利用索引,所以不担心查询速度,那么我们可以查询完成后,返回 Eloquent Collection 集合上,...注意程序写起来很柔顺,使用 Carbon 提供 between 方法进行判断。程序上下文很好理解。...如果考虑初始查询条件圈定记录条目过多,会对MySQL造成流量压力,那么SQL阶段直接筛选出最精准记录,无疑是个好习惯。whereBetween 模型里链式调用毫无压力: ?

3.2K10
领券