2016-07-28 168 views
0

可能很简单,但我有一个表,我想从一列中获取价值。他们是两个记录,并始终将两条记录,我需要从第二ID值。这里是视觉从数据库列获取价值Laravel

id  key  value 
1 key_1  Value_1 
2 key_2  value_2 

我想借此value_2。以下是我在我的控制器

$free = DB::table('settings')->select('value')->where('key', '=', 'free')->get(); 
    return View::make('site.cart.order', [ 
     'cart' => $cart, 
     'free' => $free 
    ]); 

在我看来,我想这

@if($total < $free['value']) 

    // loop 
@endif 

目前我越来越 - Undefined index: value

回答

1

如果我是正确的Laravel返回标准课程,你应该像这样访问它。

$free->value 

而不是

$free['value'] 

但是你现在必须改变它选择的第一个记录

$free = DB::table('settings')->select('value')->where('key', '=', 'free')->first(); 

然后你就可以像

$free->value 

或者,如果你访问它不想改变get()to first()你可以像这样访问它,因为get()返回一个数组。

$free[0]->value 
+0

得到这个:''试图让非object'' – Garg

+0

财产能给我的$免费的输出当你var_dump它? – DB93

+0

这是正确的信息'array(1){[0] => object(stdClass)#285(1){[“value”] => string(3)“101”}}' – Garg

1

使用first()代替get()和使用$free->valueget()返回对象的数组

+0

明白了:''试图获得财产非对象' – Garg