У меня есть таблица leave_applications и таблица сотрудников. Когда сотрудник подает заявку на отпуск, который хранится в таблице 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'");
}
Пожалуйста, обратите внимание, что у меня есть этот код в LeaveApplicationsController.php не EmployeesController.php, потому что, когда работник нажимает на все кнопки оставляет/ссылку Индексный этого контроллера является называется. Прокомментированный код - это то, что я пробовал, но ни один из них не работает.
findAllByEmployeeId()? Является ли это действительной функцией CakePHP, потому что результат все тот же. Но все же спасибо за ваш ответ – user3224207
, когда имя функции начинается с «findAllBy», оно попытается определить поле, которое вы хотите найти, и сделать соответствующий ответ. Имеет ли значение '$ employeeId' правильное значение? ('debug ($ employeeId') .Вы уверены, что у вас есть данные в базе данных для этого ID? – cornelb
Да, вы правы. Я не получал должного идентификатора сотрудника. Спасибо. – user3224207