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();
标签:laravel,eloquent,php 来源: https://codeday.me/bug/20191123/2064480.html