Laravel中Chunk使用注意事项

在数据集较大时,使用chunk分块处理可以防止内存溢出,但若更新内容跟分块依赖字段一致,则会出现更新不完整现象。

简单描述原因:chunk内部机制会对依赖字段分页查询,但每处理过一个数据块,数据集会重新拉取,但此时分页的页码却在正常递增,此时会出现部分数据取不到现象。

详细参考:https://segmentfault.com/a/1190000015284897

Laravel之分页

  1. 获取数据集时使用paginate()方法。
  2. 视图文件中加载显示分页链接。

示例代码参考:

效果图:

Laravel中使用excel导入导出

使用composer安装库:composer require maatwebsite/excel

项目地址:https://github.com/Maatwebsite/Laravel-Excel

导入:

  1. 创建Import对象:php artisan make:import UsersImport
  2. 将导入的excel内容解析成数组:$excelContent = Excel::toArray(new UsersImport, $request->file('user_file'));

导出:

  1. 创建Export对象:php artisan make:export UsersExport
  2. 修改collection()方法,返回要导出的数据return collect($exportArrayData);
  3. 保存导出的excel文件:

【参考:https://docs.laravel-excel.com/3.1/exports/

Laravel使用提示

1。 为env文件生成secret: php artisan key:generate

2。启用oauth时,需要执行以下命令创建认证文件:

laravel解析excel文件中的日期字段

  1. 使用以下类库解析excel:https://github.com/Maatwebsite/Laravel-Excel
  2. 需要解析日期字段时,建议使用  PhpOffice\PhpSpreadsheet\Shared\Date::excelToDateTimeObject($dateFromExcel) ,封装后的方法如下,

    【参考】

1.  https://github.com/Maatwebsite/Laravel-Excel;

2. https://github.com/Maatwebsite/Laravel-Excel/issues/1832#issuecomment-442572868

composer国内镜像源

使用方法:

修改项目根目录中的composer.json,修改或添加以下内容:

 

镜像源地址:

https://packagist.laravel-china.org/

安装swoole

若使用pecl或编译安装swoole时,出现如下类似错误,

则需要升级下gcc(达到5.0以上版本):

【摘自:】https://forum.phalconphp.com/discussion/17595/problem-with-compiled-phalcon-with-php-721