使用Laravel 9和我的员工和标题模型与多个关系。现在,我需要调用一个函数,以获取所有员工和标题数据,请使用applyeecontroller如下。

 public function getEmployee() {
        return response()->json(Employee::all(), 200);
    }
}

我的API路线是

Route::get('employees','App\Http\Controllers\EmployeeController@getEmployee');

我如何在同一getEmployee函数中同一iplyecontroller中获得标题数据?

分析解答

如果您在EmployeeTitle模型之间有关系设置,则可以简单地做:

public function getEmployees() {
  return response()->json(['employees' => Employee::with('title')->get()], 200);
}

同样,在拉拉维尔的较新版本中,路线的语法如下:

use App\Http\Controllers\EmployeeController;

Route::get('/employees', [EmployeeController::class, 'getEmployees'])->name('employees');

如果您没有关系设置,或者单独想要两个模型,则可以简单地查询这两个模型:

public function getEmployees() {
  return response()->json([
    'employees' => Employee::get(), // or `::all()`
    'titles' => Title::get()
  ], 200);
}

参考: