使用Laravel View :: share访问共享的数组中的项目

时间:2015-03-06 11:15:07

标签: php arrays laravel laravel-4

我的路线中有这个(只有它可以工作......)

$constants = DB::table('constants')->get();
View::share('constants', $constants);

如果在我的一个视图中我得到了var_dump常量:

array(1) { [0]=> object(stdClass)#129 (3) { ["id"]=> string(1) "1" ["type"]=> string(13) "business_name" ["value"]=> string(17) "Project Framework" } }

我想做:

$business_name = $constants->business_name; 
or
$business_name = $constants['business_name'];

如何从DB调用中操作我的数组,以便能够像这样使用常量变量?

Laravel有没有办法比在foreach中循环并创建数组更简单/更有效?

1 个答案:

答案 0 :(得分:2)

假设constants中只有一行,您应该使用first()来检索单个记录而不是集合:

$constants = DB::table('constants')->first();

然后您将获得一个对象,以便您可以使用此表示法来访问属性:

$business_name = $constants->business_name;

修改

根据您的类型值结构,我建议使用lists

$constants = DB::table('constants')->lists('value', 'type');

这将创建一个这样的数组:

[
    'business_name' => 'Project Framework',
    'foo_type' => 'bar_value'
]

用法

$business_name = $constants['business_name'];