3

我正在尝试将一些数据附加到视图中,并且已经成功地多次执行此操作。但是我的最新页面抛出错误:

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() ?

所有帮助都感谢 Ta

4

1 回答 1

3

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

$receipt = Receipt::where('invoice_id', '=', $id)->first();
于 2013-07-15T17:53:26.630 回答