Как я могу отображать данные в 14 раз более эффективно, каждый раз с другим условием «где», используя запросы? - PullRequest
0 голосов
/ 10 апреля 2020

Я планирую опубликовать график работы, это моя модель (запрос MYSQL) для отображения работников, которые должны работать в воскресенье утром. Теперь мне нужно сделать это для каждого дня недели, как утром, так и вечером. Это означает, что 14 функций. Это звучит неэффективно и не очень удобно. Можно ли как-нибудь использовать al oop? Значит, мне будут показаны имена рабочих на каждый день? Я не знаю, как мне удастся сделать это с помощью запроса и MVC framework.

Таблица смещений из базы данных (пример)

это функция Model publi c function display_shifts () {

$this->db->select('user.fullname');
$this->db->from('shifts');
$this->db->join('user', 'shifts.user_id = user.id', 'left');
$this->db->where('sunday =', 'morning');
$query = $this->db->get();

return $query->result();

}

1 Ответ

1 голос
/ 10 апреля 2020

Ваша таблица может иметь дополнительный столбец

+---------+---------+
| day     | time    |
+---------+---------+
| sunday  | morning |
+---------+---------+
| tuesday | evening |
+---------+---------+

и функцию модели

display_shifts($day,$time){

$this->db->select('user.fullname');
$this->db->from('shifts');
$this->db->join('user', 'shifts.user_id = user.id', 'left');
$this->db->where('day =', $day);
$this->db->where('time =', $time);
$query = $this->db->get();

return $query->result();
}

В контроллере

$sunday_evening_workers = $this->your_model->display_shifts("sunday","evening");
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...