LaraCSV 是 Muhammad Usman 新發布的包,它允許你流暢的從 Eloquent 模型中生成csv檔案。
這些程式碼樣例是展示使用 LaraCSV 多簡單。
$users = User::get(); // All users
$csvExporter = new \Laracsv\Export();
$csvExporter->build($users, ['email', 'name'])->download();
如果你執行這個方法,將會下載一個包含使用者資訊的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']);
新增一列
// The notes field doesn't exist so values for this field will be blank by default
$csvExporter->beforeEach(function ($user) {
// Now notes field will have this value
$user->notes = 'Add your notes';
});
$csvExporter->build($users, ['email', 'notes']);
Eloquent 關聯關係
這個將會獲取到商品名稱和關聯的種類名稱,一個一對一關聯關係
$products = Products::with('category')->get();
$csvExporter->build($products, ['title', 'category.title']);
在 Github 上檢視專案, 檢視他的 readme 文件和更多例子。
可以試試這個。
翻譯自:https://laravel-news.com/generate-csv-file...
本作品採用《CC 協議》,轉載必須註明作者和本文連結