我想设置一个获取Contact
与 a 关联的所有 s的路由Customer
。端点看起来像/customers/{customer}/contacts
这样,它{customer}
提供了应该返回联系人的上下文。我的routes/web.php
样子是这样的:
Route::get('/customers/{customer}/contacts', 'CustomerContactsController@index');
我生成了--model=Contact
指定的控制器。结果,一些方法带有开箱即用的类型提示,但该index()
方法没有,并且实际上根本不会在提供任何参数的情况下运行。
来自CustomerContactsController.php
:
public function index(Customer $customer)
{
$this->authorize('update', $customer->account);
$contacts = $customer->contacts;
return view('contacts.index', compact('customer', 'contacts'));
}
这将返回一个完全空白的屏幕。关联的 Blade 视图如下所示:
@section('title')
{{ $customer->name }}
@endsection
@section('action')
<a href="{{ $customer->path() . '/contacts/create' }}" class="button" >{{ __('Add New Contact') }}</a>
@endsection
@section('content')
<ul>
@foreach ($contacts as $contact)
<li>{{ $contact->name }}</li>
@endforeach
</ul>
@endsection
我仍然可以使用 访问控制器逻辑中的客户 ID Route::current()->parameters['customer']
,但是没有更好/更简单的方法吗?