laravel查询 - 调用未定义的属性 - 集合

时间:2013-07-15 17:47:13

标签: php laravel eloquent

我正在尝试将一些数据附加到视图中,并且已成功执行此操作多次。然而,我的最新页面引发了错误:

Undefined property: Illuminate\Database\Eloquent\Collection::$pay_method

在我的控制器中,我有以下查询:

$receipt = Receipt::where('invoice_id', '=', $id)->get();

$ id是一个包含发票ID的变量。

我将对象传递给视图,如下所示:

return View::make('greenfee.edit')
        ->with('receipt', $receipt);

在视图中 - 测试我只是在做:

{{ $receipt->pay_method }}

'pay_method'是表格中的一栏。

这会引发错误。

为了进一步测试我已经测试了$ receipt包含使用print_r的数据,并且该属性肯定存在 - 这是一个提取:

[pay_method] => card

是我期望的价值。

那么 - 我在这里错过了什么,误解了什么?

此外 - 我应该何时(或不)在查询中使用get()?

所有帮助表示赞赏 TA

1 个答案:

答案 0 :(得分:3)

Collection基本上是一个结果数组,因此您必须使用for循环或其他东西迭代它。 但是,如果您尝试只获取一个记录/行,则应使用:

$receipt = Receipt::where('invoice_id', '=', $id)->first();