我正在編寫一個工匠命令,將數據庫中的表導出爲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:將數據庫表格導出爲CSV文件
- 6. PHP artisan命令無效
- 7. 將sqlite數據庫導出爲csv - Sqlite.swift
- 8. 如何使用php artisan命令爲Laravel Project創建兩個表遷移?
- 9. 如何將數據傳遞到Artisan處理命令 - Laravel 5.2
- 10. PHP:根據2列將mysql數據庫導出爲CSV?
- 11. 寫作Artisan命令 - 顯示數據庫中的數據
- 12. 將CSV導入數據庫Laravel
- 13. 將Laravel Artisan命令作爲一個新進程運行
- 14. 從控制檯調用laravel artisan命令
- 15. 使用PHP將SQL數據庫表導出爲XML
- 16. 如何讓php artisan命令可用?
- 17. 將數據庫導出爲帶有列的CSV PHP
- 18. 如何使用qt將數據庫postgres表導出到csv?
- 19. MySQLi將表導出爲CSV
- 20. 將數據庫表(帶BLOB)導出爲CSV
- 21. PHP Parse.com將表導出爲CSV文件
- 22. Wordpress使用$ wpdb將數據從數據庫導出到csv
- 23. 用命令'php artisan serve'運行Laravel有什麼意義?
- 24. 如何使用codeignitor將表格數據導出爲.csv文件?
- 25. php artisan migrate - Laravel
- 26. 來自控制器的Laravel artisan命令
- 27. 在Laravel創建使用Artisan命令文件5.1
- 28. 將MySql表導出爲CSV?
- 29. 將表導出爲CSV
- 30. 將csv導入數據庫
有沒有錯誤?你確定運行命令的用戶有權執行此操作嗎? – skido
@ skido不,沒有錯誤。是的,用戶有權限。 – Trayer
您是否嘗試過製作一個只編寫一些隨機數據的工匠命令?換句話說,嘗試測試所有單個組件 –