小编mtm*_*ald的帖子

Laravel 4 - 在运行时设置database.fetch配置

在Laravel 3中,我可以在运行时设置数据库'fetch'配置(将结果作为数组而不是对象获取):

Config::set('database.fetch', PDO::FETCH_ASSOC);
Run Code Online (Sandbox Code Playgroud)

在Laravel 4中,结果仍然作为对象返回.

我究竟做错了什么?

[编辑 - 额外细节]

我决定测试配置是否正在设置,并且还要在Laravel 3和Laravel 4中并排尝试相同的代码段.

//first fetch as object
Config::set('database.fetch', PDO::FETCH_CLASS);
//Laravel 3 and 4 returns 88 ... expected:
echo PDO::FETCH_CLASS.Config::get('database.fetch');
$users = $users = DB::table('users')->get();
//Laravel 3 and 4 both return an array of objects(stdClass) ... expected
var_dump($users);

//then fetch as array
Config::set('database.fetch', PDO::FETCH_ASSOC);
//Laravel 3 and 4 returns 22 ... expected:
echo PDO::FETCH_ASSOC.Config::get('database.fetch');
$users = $users = DB::table('users')->get();
//Laravel 3 returns an array of arrays ... expected
//Laravel 4 returns …
Run Code Online (Sandbox Code Playgroud)

php laravel laravel-4

5
推荐指数
1
解决办法
6194
查看次数

使用Codeception进行Laravel 4模型单元测试 - 找不到类'Eloquent'

我正在尝试使用Codeception来运行我的Laravel 4单元测试.

对没有依赖项的简单类运行测试可以正常工作.但是当我实例化依赖于Eloquent的模型时,我得到了这个致命的错误:

PHP致命错误:第4行的/var/www/project/app/models/Role.php中找不到类'Eloquent'

单元测试:

<?php
use Codeception\Util\Stub;
class TestModel extends \Codeception\TestCase\Test 
{
  public function testExample()
  {
    $role = new Role;
    $role->name = 'superuser';
    $this->assertEquals('superuser', $role->name);
  }
}
Run Code Online (Sandbox Code Playgroud)

模型:

<?php
class Role extends Eloquent
{
  public function users()
  {
    return $this->belongsToMany('User');
  }
}
Run Code Online (Sandbox Code Playgroud)

项目结构:

我正在从项目根目录运行vendor/bin/codecept运行单元,具有以下文件结构:

/project
  codeception.yml
  /vendor/bin/codecept
  /app
    /tests
      unit.suite.yml
      /unit
         ExampleTest.php
    /models
       Role.php
                ...etc
Run Code Online (Sandbox Code Playgroud)

我究竟做错了什么?

phpunit laravel eloquent laravel-4 codeception

5
推荐指数
1
解决办法
3869
查看次数

浮点测试断言 - 为什么这些"相同"的数组失败?

我在PHPUnit中使用assertSame()来比较数据库结果和期望值.结果是浮点数.

PHPUnit返回此消息(但我无法发现任何差异):

Failed asserting that Array (
    '1_1' => 11.111111111111
    '1_2' => 33.333333333333
    '1_3' => 55.555555555556
    '1_4' => 0.0
    '1_5' => null
    '1_total' => 100.0
) is identical to Array (
    '1_1' => 11.111111111111
    '1_2' => 33.333333333333
    '1_3' => 55.555555555556
    '1_4' => 0.0
    '1_5' => null
    '1_total' => 100.0
)
Run Code Online (Sandbox Code Playgroud)

为什么这会失败以及比较浮点值数组的正确方法是什么?

php phpunit

5
推荐指数
1
解决办法
1601
查看次数

是否存在可以进行版本控制的并发访问数据存储格式?

我有一个项目需要对数据存储进行版本控制(例如在 git 或 svn 中)。明确地说,我的意思是数据存储内容的版本控制,而不是模式。例如,我们将拍摄数据本身的快照,以便能够恢复到以前的状态。还需要分支和合并。

基本要求是:

  • 每个数据存储都可以驻留在自己的目录(存储库)中
  • 可以合并不同版本的数据内容(手动或使用工具)
  • 能够运行基本的选择查询来制作可视化报告

理想情况下:

  • 并发访问安全
  • 某种程度的关系完整性

我看过各种选择。SQLite(二进制格式)很难合并。CouchDB 有很大的合并可能性(多主复制),但不允许每个数据存储有不同的目录。纯 JSON 或其他文本文件使查询和关系变得困难。

有没有可以通过这种方式进行版本控制的数据存储格式?你会如何解决这个问题?

编辑(更多上下文):具体用例是实现分布式软件问题跟踪,类似于Fossil SCM 的风格。但是,虽然我对解决此问题的现有工具感兴趣,但我对探索和理解可用于构建此类工具的不同数据存储选项特别感兴趣。

database version-control version datastore

5
推荐指数
1
解决办法
234
查看次数

在通过子进程传递标准输出时如何应用颜色?

我使用粉笔为命令行节点应用程序的输出着色。通常是这样的:

console.log(chalk.red(error));
Run Code Online (Sandbox Code Playgroud)

但是,我需要通过管道从子进程输出stdout,并为输出加上颜色:

var child = childProcess.spawn('foo', args);
child.stdout.pipe(process.stdout); //how to use chalk to colour this?
Run Code Online (Sandbox Code Playgroud)

从子进程中输入标准输出时,如何使用粉笔为颜色添加颜色?

child-process node.js chalk

5
推荐指数
0
解决办法
442
查看次数

使用 Webpack 开发服务器进行 301 重定向

我正在尝试从此格式重定向网址:

http://localhost:8080/setup/xyz/?code=some-code

对此:

http://localhost:8080/app/#/setup/xyz/?code=some-code

我已经尝试过代理和重写:

historyApiFallback: {
  rewrites: [
    { from: /^\/$/, to: '/index.html' },
    { from: /^\/app/, to: '/app.html' },
    { from: /^\/setup/, to: '/app/#/setup' },
  ]
Run Code Online (Sandbox Code Playgroud)

},

但它似乎不起作用。有没有办法使用开发服务器编写 301 重定向?

http-status-code-301 webpack webpack-dev-server

5
推荐指数
1
解决办法
809
查看次数

地图组件:无法读取未定义的属性“初始化”

我正在尝试使用react-leaflet.js获取基本地图。这是我的代码:

import React from 'react';
import { Map } from 'leaflet';

const mapStyle = {
  height: '400px'
};

const mapCenter = [0, -0];
const zoomLevel = 3;

export default class MapT extends React.PureComponent {
  render() {
    return (
      <div>
        <Map
          style={mapStyle}
          center={mapCenter}
          zoom={zoomLevel}
        >
        </Map>
      </div>
    );
  }
}
Run Code Online (Sandbox Code Playgroud)

但是我遇到一个错误:

Uncaught TypeError: Cannot read property 'initialize' of undefined
    at NewClass (leaflet-src.js:300)
    at mountIndeterminateComponent (react-dom.development.js:14003)
    at beginWork (react-dom.development.js:14470)
    at performUnitOfWork (react-dom.development.js:17014)
    at workLoop (react-dom.development.js:17054)
    at HTMLUnknownElement.callCallback (react-dom.development.js:149)
    at Object.invokeGuardedCallbackDev …
Run Code Online (Sandbox Code Playgroud)

reactjs react-leaflet

5
推荐指数
1
解决办法
737
查看次数

哪个列类型用于在包含年度数据行的表中存储year字段

我的Laravel Web应用程序使用模式构建器来实现数据库可移植性,因此特定MySQL的YEAR列类型不可用.

我希望能够按年(包括BETWEEN)排序和选择数据行.存储年份值的最佳便携式柱类型是什么?

mysql database database-design laravel

4
推荐指数
1
解决办法
2615
查看次数

使用BCP插入带有Unicode字符的行

我正在使用BCP将数据从CSV文件批量上传到SQL Azure(因为不支持BULK INSERT).此命令运行并上载行:

bcp [resource].dbo.TableName in C:\data.csv -t "," -r "0x0a" -c -U bcpuser@resource -S tcp:resource.database.windows.net
Run Code Online (Sandbox Code Playgroud)

但data.csv是UTF8编码的,包含非ASCII字符串.这些被破坏了.我已经尝试将-c选项更改为-w:

bcp [resource].dbo.TableName in C:\data.csv -t "," -r "0x0a" -w -U bcpuser@resource -S tcp:resource.database.windows.net
Run Code Online (Sandbox Code Playgroud)

但后来我得到'0行复制'.

我做错了什么以及如何使用BCP批量插入Unicode字符?

sql-server unicode bulkinsert bcp azure-sql-database

4
推荐指数
1
解决办法
2167
查看次数

MySQL - 获得所有列平均值也具有"总"平均值

我有一个MySQL表,看起来像这样:

id  load_transit    load_standby
1   40              20
2   30              15        
3   50              10
Run Code Online (Sandbox Code Playgroud)

我需要做以下计算:

load_transit_mean = (40+30+50)/3 = 40
load_standby_mean = (20+15+10)/3 = 15
total_mean = (40+15)/2 = 27.5
Run Code Online (Sandbox Code Playgroud)

是否可以在单个查询中执行此操作?最好的设计是什么?

我需要我的答案是可扩展的(真正的设计有更多的行和列),并能够处理包含NULL的一些行.

mysql sql

3
推荐指数
1
解决办法
2783
查看次数