我的路线中有这个(只有它可以工作......)
$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中循环并创建数组更简单/更有效?
答案 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'];