我想要一个路线和两个控制器。但是,我无法实现它。我有ExpenseController
和IncomeController
,而我的路线如下:
Route::get('/api/expense/', 'ExpenseController@index');
Route::post('/api/expense', 'ExpenseController@create');
我想与IncomeController
Route::get('/api/expense', 'IncomeController@index');
Route::post('/api/expense', 'IncomeController@create');
答案 0 :(得分:0)
否,不可能将一条路由直接链接到两个控制器。
但是,在注释部分中,确定实际上并不需要一条路由来链接到多个控制器,而是需要一个控制器来控制多个模型。
您可以创建一个用于控制收入和支出的单一控制器BudgetController
。这是在同一页面上显示两者的列表的示例:
routes / web.php
Route::resource('budget', 'BudgetController');
app / Http / Controllers / BudgetController.php
public function index()
{
return view('budget.index', [
'incomes' => Income::all(),
'expenses' => Expense::all(),
])
}
资源/视图/预算/index.php
<table>
@foreach($incomes as $income)
<tr><td>{{ $income->amount }}</td></tr>
@endforeach
</table>
<table>
@foreach($expenses as $expense)
<tr><td>{{ $expense->amount }}</td></tr>
@endforeach
</table>