나는 leave_applications 테이블과 employees 테이블을 가지고 있습니다. 직원이 직원 ID와 함께 leave_applications 테이블에 저장된 휴가를 신청할 때. 다음에 직원이 로그인하면 지금까지 신청 한 휴가 신청서가 표시됩니다. 그러나 문제는 모든 종업원이 다른 종업원으로부터 표시되는 경우입니다. 그렇다면 로그인 한 직원 만 휴가 신청서를 볼 수 있도록 제한하는 방법은 무엇입니까? 내 LeaveApplicationsController.php 페이지는 잎을 표시하는 이것이다 :CakePHP에서 로그인 사용자 데이터 만보기
public function index()
{
$this->LeaveApplication->recursive = 0;
$leavereqs = $this->set('leaveApplications', $this->Paginator->paginate());
//return $this->LeaveApplication->Employee->find('all', array('conditions' => array('LeaveApplications.employee_id'=>$this->Auth->user('id'))));
return $this->LeaveApplication->find('all');
//echo $log_user_id = $this->Auth->user('role'); die();
//return $this->LeaveApplication->Employee->query("SELECT * FROM leave_applications WHERE employee_id = '$log_user_id'");
//return $this->LeaveApplication->Employee->query("SELECT la.leave_type, la.subject, la.detail, la.from_date, la.to_date, la.applied_on, la.leave_status, la.leave_status_date FROM leave_applications la INNER JOIN employees e ON la.employee_id = e.id INNER JOIN users u ON e.user_id = u.id WHERE la.employee_id = '$log_user_id'");
}
모두가이 컨트롤러의 인덱스 뷰는 버튼/링크를 잎에 직원이 클릭 할 때 때문에 내가하지 EmployeesController.php에 LeaveApplicationsController.php에서이 코드가 있습니다 라는. 주석 처리 된 코드는 시도했지만 아무도 작동하지 않습니다.
findAllByEmployeeId()? 결과가 여전히 동일하기 때문에 유효한 CakePHP 함수인가? 그러나 함수 이름이 "findAllBy"로 시작하면 – user3224207
답장을 보내 주셔서 감사합니다. 검색하려는 필드를 식별하고 해당 쿼리를 만들려고합니다. '$ employeeId'는 올바른 값을 가지고 있습니까? ('debug ($ employeeId'). 그 ID에 대한 데이터베이스에 데이터가 있는지 확인 하시겠습니까? – cornelb
맞습니다. 적절한 직원 ID를 얻지 못했습니다. 감사합니다. – user3224207