5

Laravel 3では、実行時にデータベースの「フェッチ」構成を設定できました(結果をオブジェクトではなく配列として取得するため):

Config::set('database.fetch', PDO::FETCH_ASSOC);

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 an array of objects(stdClass) ... UNEXPECTED!
var_dump($users);
4

3 に答える 3

-1

確かではありませんが、おそらくこのようなものが機能します。

$config = Config::set('database.fetch', PDO::FETCH_ASSOC);
$config->toArray();
于 2013-10-14T13:11:38.087 に答える