这是我在Invoice Controller中的功能
public function edit(invoice $invoice, $id)
{
$invoice = Invoice::with('users', 'items.products')->findOrFail($id);
return view(compact('invoice'));
}
我认为
{{ $invoice->user_id->email }}
答案 0 :(得分:1)
您正在加载的关系名为users
,因此是该关系的动态属性的名称。 user_id
是用户的ID,而不是关系。
{{ $invoice->users->email }}
这还假设发票总是有一个用户。
Laravel 6.x Docs - Eloquent - Relationships - Relationship Methods vs Dynamic Properties
旁注:
命名可能需要一些工作,因为我假设的发票应该只有一个用户,所以单数。当某事物可以有多个时,使用复数;当一个事物不存在时,使用单数。关系应命名为user
。
答案 1 :(得分:0)
您使用了错误的属性,$invoice->user_id
可能是来自数据库的原始整数值。您需要像这样调用该关系:
{{ $invoice->user->email }}
$invoice->user
将返回与$invoice->user_id
ID相关的用户对象。
答案 2 :(得分:0)
您忘记了要返回的视图名称
public function edit(invoice $invoice, $id)
{
$invoice = Invoice::with('users', 'items.products')->findOrFail($id);
return view('invoice.edit',compact('invoice'));
}
并使用关系名称访问
{{ $invoice->users->email }}
答案 3 :(得分:0)
请输入视图名称以返回
public function edit(invoice $invoice, $id)
{
$invoice = Invoice::with('users', 'items.products')->findOrFail($id);
return view('your_blade_file_path',compact('invoice'));
}
在您的刀片文件中写上
{{ $invoice->users->email }}