Laravel学习笔记

本文介绍了Laravel框架中的懒加载机制,通过日志懒加载和Model数据加载举例说明其优势。此外,详细阐述了如何设置定时任务,包括使用call方法和Command命令,并给出了配置及执行示例。同时,还涉及到了消息通知、数据集合的计算与过滤操作,展示了Laravel在提升效率和代码优雅性方面的应用。
摘要由CSDN通过智能技术生成

懒加载

参考文档: https://laravel.com/docs/6.x/releases

懒加载和传统加载的区别:传统的数据加载是一下把所有的数据加载起来,给数据库和内存造成很大压力,如果一个人访问还好说,上千上万人呢。而懒加载是一直在加载数据,如果加载的数据过多的话,可能会稍微慢点,但是极大地减轻了数据库的压力。

日志懒加载

  • 主要使用LazyCollection加上一个闭包函数,一行一行的处理数据
  • chunk是分块处理数据,下面的chunk(4)是指每次处理4条数据,chunk中也可以使用闭包函数,在闭包函数中写怎么处理这几条数据
  • map是对查询结果进行处理,相当于get之后进行foreach
  • each方法是对数据进行分析
use App\LogEntry;
use Illuminate\Support\LazyCollection;

LazyCollection::make(function () {
    $handle = fopen('log.txt', 'r');

    while (($line = fgets($handle)) !== false) {
        yield $line;
    }
})
->chunk(4)
->map(function ($lines) {
    return LogEntry::fromLines($lines);
})
->each(function (LogEntry $logEntry) {
    // Process the log entry...
});

加载Model数据

  • 调用cursor方法就会调用懒加载机制获取数据
    原来的
$users = App\User::all()->filter(function ($user) {
    return $user->id > 500;
});

使用懒加载之后

$users = App\User::cursor()->filter(function ($user) {
    return $user->id > 500;
});

定时任务

使用场景:比如每天早上提醒用户啥啥啥
参考文档:https://laravel.com/docs/6.x/scheduling

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值