我正在编写一个工匠命令,将数据库中的表导出为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
您是否尝试过制作一个只编写一些随机数据的工匠命令?换句话说,尝试测试所有单个组件 –