laravel查询-调用不足的属性-集合


laravel query - call to underfined property - collection

我正在尝试将一些数据附加到视图中,并且已经成功地完成了多次。然而,我的最新页面抛出了一个错误:

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"是表中的一列。

这引发了错误。

为了进一步测试,我测试了$receive包含使用print_r的数据,并且该属性肯定在那里——以下是摘录:

[pay_method] => card

这是我所期望的价值。

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

此外,我应该在什么时候(或不)对查询使用get()?

感谢所有帮助Ta

集合基本上是一个结果数组,因此您必须使用for循环或其他方法对其进行迭代。然而,如果您试图只获取一条记录/行,则应使用:

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