관련 코드는 다음과 같습니다 나는 데이터베이스에 유사한 구조의 테이블을 조회 자원 컨트롤러, 중첩 된 https://gist.github.com/morganhein/9254678쿼리 ORM과 WHERE 절 -에 설득력/Laravel 4
.
www.example.com/v1/jobs/1/departments로 이동하면 작업 1과 관련된 모든 부서를 쿼리하려고합니다. 그러나 ORM을 사용하여 수행하는 방법을 파악할 수 없습니다.
도움 말?
관련 코드는 다음과 같습니다 나는 데이터베이스에 유사한 구조의 테이블을 조회 자원 컨트롤러, 중첩 된 https://gist.github.com/morganhein/9254678쿼리 ORM과 WHERE 절 -에 설득력/Laravel 4
.
www.example.com/v1/jobs/1/departments로 이동하면 작업 1과 관련된 모든 부서를 쿼리하려고합니다. 그러나 ORM을 사용하여 수행하는 방법을 파악할 수 없습니다.
도움 말?
나는 테스트하지 못했지만, 나는 이런 식으로 뭔가를 시도 할 제안 : 그 후
Route::resource('/v1/jobs/{id}/departments', 'DepartmentController');
Route::resource('/v1/jobs', 'JobController');
를, 당신의 DepartmentController 방법은 귀하의 경우에는 작업 ID를 하나 개 인수를 받게됩니다. id
을 사용하여 특정 모델을 검색하는 경우 find()
메서드를 사용하는 것이 더 쉽습니다. 모델을 발견하면 관련 모델에 액세스 할 수 있습니다.
class DepartmentsController extends BaseController {
/**
* Display a listing of the resource.
*
* @return Response
*/
public function index($jobId)
{
Clockwork::startEvent('List_Default_Departments', 'Starting.');
$positions = Auth::user()->jobs()->find($jobId)->departments;
Clockwork::endEvent('List_Default_Departments', 'Done.');
return Response::json($positions->toArray());
}
}
참고 : $job->departments()
사이 다른 (반환 빌더 객체가 더 복잡한 쿼리를 만들 수)와 $job->departments
가 (직접 컬렉션 객체를 반환)가있다.
$jobs = Auth::user()->jobs()->with('departments')->get();
당신의'jobs' 표는'departments'로 선언 realationship을 가지고 있지 않습니다
또한 당신은 당신이 항상 호출 할 수있는 모든 관련 부서와 작업의 목록을 얻을하려는 경우. 'Jobs' 모델에서이 작업을 수행해야합니다. –
내 jobs.php (모델)에, 혼란 스러워요 그 상태 : \t 공공 기능 부서() \t { \t \t 반환 $ this-> hasMany의 ('부'); \t} 내가 필요한 것은 아닙니다. – Morgan
있어야합니다. 그런 식으로 작동하지 않습니까? 그렇지 않은 경우 모델 코드도 게시하십시오. –