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

我正在尝试将一些数据附加到视图,并且能够成功完成多次.但是我的最新页面抛出一​​个错误:

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”是表中的一列.

这引发了错误.

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

[pay_method] => card

这是我期望的价值.

所以-我在这里想念和误解了什么?

另外-我什么时候(或不应该)对查询使用get()?

所有帮助表示赞赏

解决方法:

集合基本上是结果数组,因此您必须使用for循环或类似方法对其进行迭代.
但是,如果您尝试仅获取一条记录/行,则应使用:

$receipt = Receipt::where('invoice_id', '=', $id)->first();
上一篇:php-Laravel:雄辩的Querybuilder whereTimestamp?


下一篇:基于 SurfaceView 的直播点亮心形效果