您好,我在使用 laravel eloquent 时遇到了这个问题。 这段代码(在文档中)
$debtHistory = DebtHistory::with('user.firstname')->get();
似乎不起作用,因为它返回类似Call to undefined relationship [firstname] on model [App\User].
的东西我在这里做错了什么?有什么想法吗?谢谢你们。 :)
注意:如果这有帮助。
我实际上有一种替代方法,但我想在一个查询中完成它。这段代码可以帮助您了解我正在尝试做什么。
$debtHistory = DebtHistory::whereBetween('created_at',[$filterData['from'], $filterData['to']])->where('amount', '>', '0')->get();
$excelData = [];
foreach($debtHistory as $history) {
array_push($excelData, ['Name' => $history->user->firstname .' '. $history->user->lastname, 'Debt' => $history->amount, 'Date' => Carbon::parse($history->created_at)->format('Y-m-d')]);
}
我想在雄辩的模型查询中执行该过程,这可能吗?
此错误表示
User
模型没有定义 firstname
关系。您应该像这样加载数据:
$debtHistory = DebtHistory::with('user')->get();
并用这样的方式显示它:
@foreach ($debtHistory as $one)
{{ $one->user->firstname }}
@endforeach
如果
user()
具有 belongsTo()
关系,这将起作用。