我有一个发票模型应该有1个用户和许多产品在这里我设置用户关系我在视图中检索它很好但我不能更深入1级产品关系看看我的代码< / p>
private File getNextCodePath(File targetDir, String packageName) {
File result;
SecureRandom random = new SecureRandom();
byte[] bytes = new byte[16];
do {
random.nextBytes(bytes);
String suffix = Base64.encodeToString(bytes, Base64.URL_SAFE | Base64.NO_WRAP);
result = new File(targetDir, packageName + "-" + suffix);
} while (result.exists());
return result;
}
这是我的控制器
public function user() {
return $this->hasOne('App\Client','id','client_id');
}
public function products(){
return $this->hasMany('App\Product','id','product_id');
}
这是视图
public function show(Invoice $invoice)
{
$clients = Invoice::with('user','products')->get();
// $products = Invoice::with('products')->get();
return view('admin.invoices.show', compact('invoice', $invoice),compact('clients',$clients));
}
现在问题在于我可以很好地看到客户,但我无法访问这里的产品关系这里是一个$ client客户端
<td>{{$invoice->id}}</td>
<td>{{$invoice->title}}</td>
<td><a href="/admin/invoices/{{$invoice->id}}">{{$invoice->description}}</a></td>
@foreach($clients as $client)
<td>{{ $client->user->title ?? 'no costumer' }}</td>
<td>{{ $client->product->name ?? 'no products' }}</td>
@endforeach
我所理解的是,hasmany是一个返回的项目集合,但我不会理解如何访问它们并显示它们。