本站点已经停止维护,更多关于 Laravel 的内容请前往 laravel-china.org

用 LaraCSV 在 Eloquent 模型中生成 CSV

LaraCSV 是 Muhammad Usman 的一个新软件包,旨在让你优雅地在 Eloquent 模型中生成 CSV 文件。

基本使用:

$users = User::get(); // All users
$csvExporter = new \Laracsv\Export();
$csvExporter->build($users, ['email', 'name'])->download();

运行后会下载一个包含 emailname 的 CSV 文件,内容如下:

email,name
eric@example.com,"Eric L. Barnes"
john@example.com,"John Smith"
bob@example.com,"Bob Jones"

除了导出模型的基本字段之外,它还可以更改显示的字段值:

$csvExporter = new \Laracsv\Export();
$users = User::get();

// Register the hook before building
$csvExporter->beforeEach(function ($user) {
    $user->created_at = date('f', strtotime($user->created_at)); 
});

$csvExporter->build($users, ['email', 'name' => 'Full Name', 'created_at' => 'Joined']);

甚至还能拿到模型之间的关系:

$products = Products::with('category')->get();
$csvExporter->build($products, ['title', 'category.title']);

如果你有兴趣想知道是否还有更多的功能,可以查看它的 Github

Stay Hungry, Stay Foolish.

参考链接:https://laravel-news.com/generate-csv-files-eloquent-models

JokerLinly
作者 JokerLinly
Stay Hungry, Stay Foolish.