laravel框架使用总结(一)

48 篇文章 1 订阅
1.数据库连接配置中设置[超时]等配置:
[参考链接:http://fideloper.com/laravel-pdo-connection-options]
因为有需求是需要从不同的host中通过sql请求来获取数据,所以需要设置超时时间。
首先找到连接配置文件:vendor/laravel/framework/src/Illuminate/Database/Connectors/Connector.php,可以看到默认的pdo连接选项:
protected $options = [
        PDO::ATTR_CASE => PDO::CASE_NATURAL,
        PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION,
        PDO::ATTR_ORACLE_NULLS => PDO::NULL_NATURAL,
        PDO::ATTR_STRINGIFY_FETCHES => false,
        PDO::ATTR_EMULATE_PREPARES => false,
    ];
    然后转到数据库配置文件,在app/config/database.php中,添加options参数即可:
    'mysql' => array(
            'driver'    => 'mysql',
            'host'      => 'localhost',
            'database'  => 'database',
            'username'  => 'root',
            'password'  => '',
            'charset'   => 'utf8',
            'collation' => 'utf8_unicode_ci',
            'prefix'    => '',
            'options'   => array(
                PDO::ATTR_PERSISTENT => true,
            ),
        ),

2.下载文件。

http://www.cnblogs.com/yjf512/p/3830750.html

response()->download($file);
如果你要想增加是否下载完之后删除该文件,则需要增加选项:
response()->download($file)->deleteFileAfterSend(true/false);
true表示下载后即删除,false反之。
3.导入、导出excel。
Excel::create($fileName, function($excel) use ($cellData){
            $excel->sheet($this->sheet, function($sheet) use ($cellData){
                $sheet->setWidth($this->setWidth);
                $sheet->rows($cellData);
            });
        })->store('xls', storage_path($this->storagePath));
    Excel::load($filePath, function ($reader) use ($cellData) {
            $reader->sheet($this->sheet, function($sheet) use ($cellData){
                $sheet->rows($cellData);
            });
        })->store('xls', storage_path($this->storagePath));
4.转换数据格式。
如果你是用DB::connection('foo')->select(...)去获取数据的话,结果是这样的
array:3 [
  0 => {#759
    +"filed1": 7000
    +"filed2": 1000
    +"filed3": 600
  }
]
可用如下方式转换为数组。
foreach ($data as $key => $value) {
        $data[$key] = (array) $value;
    }
    这样可以获取每个字段的和。
    foreach ($fields as $field) {
        $data[$field] = array_sum(array_column($transferData, $field));
    }

























  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

从心所愿

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值