我正在編寫一個工匠命令,將數據庫中的表導出爲csv文件。 但是,當運行該命令時,CLI僅向我顯示來自數據庫的數據,並且不創建CSV文件。使用Laravel php artisan命令將數據庫表導出爲CSV
1
A
回答
1
這工作得很好,我laravel 5.4項目
public function handle()
{
$filename = "logins.csv";
$handle = fopen($filename, 'w');
fputcsv($handle, array('customer_id', 'count', 'year', 'month', 'day', 'hour'));
fputcsv($handle, array("row['customer_id']", "row['count']", "row['year']", "row['month']", "row['day']", "row['hour']"));
fclose($handle);
$headers = array(
'Content-Type' => 'text/csv',
);
}
創建文件logins.csv在項目的根目錄
customer_id,count,year,month,day,hour
row['customer_id'],row['count'],row['year'],row['month'],row['day'],row['hour']
順便說一句的是$頭陣的目的是什麼?
CLI顯示我只能從數據庫
也許你已經DD()某處的數據?
1
你可以試試這個庫:https://github.com/box/spout。
讓您輕鬆創建CSV,XLSX,ODS文件是這樣的:
use Box\Spout\Writer\WriterFactory;
use Box\Spout\Common\Type;
$writer = WriterFactory::create(Type::XLSX); // for XLSX files
//$writer = WriterFactory::create(Type::CSV); // for CSV files
//$writer = WriterFactory::create(Type::ODS); // for ODS files
$writer->openToFile($filePath); // write data to a file or to a PHP stream
//$writer->openToBrowser($fileName); // stream data directly to the browser
$writer->addRow($singleRow); // add a row at a time
$writer->addRows($multipleRows); // add multiple rows at a time
$writer->close();
你只通過行作爲陣列,就是這樣。
您可以在這裏找到的文檔:http://opensource.box.com/spout/
0
我發現我自己的解決方案。感謝你們!
相關問題
- 1. Laravel 4 Artisan命令
- 2. Xdebug laravel artisan命令
- 3. 使用OUTFILE命令將mysql數據庫導出爲.sql格式
- 4. Laravel Artisan:使用遠程數據庫
- 5. PHP Laravel artisan cendor:發佈命令
- 6. PHP artisan命令無效
- 7. PHP:將數據庫表格導出爲CSV文件
- 8. 使用php將數據從數據庫導出到csv文件
- 9. Laravel Artisan命令和存儲庫數據類型檢查
- 10. 將sqlite數據庫導出爲csv - Sqlite.swift
- 11. 將數據庫導出爲CSV文件
- 12. PHP:將sql數據導出爲CSV
- 13. 如何將數據傳遞到Artisan處理命令 - Laravel 5.2
- 14. 如何使用php artisan命令爲Laravel Project創建兩個表遷移?
- 15. PHP:根據2列將mysql數據庫導出爲CSV?
- 16. 寫作Artisan命令 - 顯示數據庫中的數據
- 17. 將CSV導入數據庫Laravel
- 18. 將Laravel Artisan命令作爲一個新進程運行
- 19. 從控制檯調用laravel artisan命令
- 20. 使用PHP/Joomla編程導出MySql數據庫爲CSV
- 21. 關閉Laravel artisan命令的ANSI顏色
- 22. 如何讓php artisan命令可用?
- 23. 使用PHP將SQL數據庫表導出爲XML
- 24. 使用命令將SQL Server數據庫導出到腳本
- 25. 將數據庫導出爲帶有列的CSV PHP
- 26. 如何使用qt將數據庫postgres表導出到csv?
- 27. Php artisan make:auth命令未定義
- 28. 使用laravel將整個表格導出爲CSV
- 29. 將數據庫表(帶BLOB)導出爲CSV
- 30. MySQLi將表導出爲CSV
有沒有錯誤?你確定運行命令的用戶有權執行此操作嗎? – skido
@ skido不,沒有錯誤。是的,用戶有權限。 – Trayer
您是否嘗試過製作一個只編寫一些隨機數據的工匠命令?換句話說,嘗試測試所有單個組件 –