laravel框架使用总结(一)
来源:互联网 发布:js 中文简体繁体转换 编辑:程序博客网 时间:2024/06/05 15:18
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,
),
),
如果你要想增加是否下载完之后删除该文件,则需要增加选项:
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));
}
[参考链接: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)->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
- laravel框架使用总结(一)
- laravel框架总结一
- laravel框架总结 -- redis使用
- Laravel使用总结(一)
- laravel(一)-为什么要使用框架
- laravel框架总结 -- composer基本使用
- laravel框架总结(十三) -- redis使用
- laravel框架总结(二)
- laravel个人总结(一)
- laravel框架使用中错误及解决办法总结
- laravel框架使用中错误及解决办法总结 2
- laravel框架初次使用
- laravel框架的使用
- laravel apiato框架使用
- laravel框架学习(一)
- 学习laravel框架一:准备
- laravel框架入门记录(一)
- laravel框架相关总结链接
- 自定义View之组合view例加减器
- Linux系统中的copy-on-write(COW)技术
- 升级AndroidStudio3.0 Unable to resolve dependency for ':app@betaUnitTest/compileClasspath': Could not
- iOS App转让最新笔记
- Web系统开发构架再思考-前后端的完全分离
- laravel框架使用总结(一)
- 组合View之自定义按钮_另一种方法
- 前言:Python半深入讲义
- sticky footer设计
- ubifs文件系统的制作
- 【Python自学】06. 判断与循环
- 字符串连接符效率分析
- CC2541之notify通知方式的介绍和使用 一、简介 本篇介绍CC2541从机端的notify通知的两种方式。 二、实验平台 协议栈版本:BLE-CC254x-1.4.0 编译软件:IAR
- 开始使用Titan