我想在我的模型方法中传递where条件,所以我想将数组中获得的所有emp_id传递给foreach循环,并希望在我的模型方法中传递它,这样我就可以将它作为where条件传递。
场景是:我有一个表 users,其中包含所有标识了我的唯一 id 的用户,名为 emp_id,现在我有一个名为 daily_data2 的表,其中也包含带有 emp_id 的用户的登录和注销。所以我将用户的emp_id映射到daily_data2的emp_id
这是我的 Controller 方法:
public function index()
{
$user_type = $this->session->userdata('user_type');
if($user_type=="admin")
{
$users = $this->data['users'] = $this->user_m->get();
foreach ($users as $user)
{
$user->emp_id;
$this->data['attendances'] = $this->attendance_m->all_login($user->$emp_id);
$this->data['attendances_logouts'] = $this->attendance_m->all_logout($user->$emp_id);
}
$this->data['subview'] = 'admin/dashboard/index';
$this->load->view('admin/_layout_main',$this->data);
}
在我的模型方法中,我有两种方法,一种获取登录数组,另一种获取注销数组,我将其传递给查看,并在那里计算用户的总工作时间。
所以现在我想在我的模型方法中传递 emp_id 来动态获取每个用户的登录和注销。
这是模型:
public function all_login($emp_id)
{
$this->db->where->('emp_id',$emp_id);
}
最佳答案
修改您的功能(保留备份):
<?php
public function index()
{
$user_type = $this->session->userdata('user_type');
if($user_type=="admin")
{
$users = $this->user_m->get();
$all_empids = implode(',', $users['emp_id']);
$data['all_empids'] = $all_empids;
$this->data['subview'] = 'admin/dashboard/index';
$this->load->view('admin/_layout_main',$this->data);
}
}
public function get_login_or_logout($eid)
{
$q = $this->db->query("SELECT entry FROM daily_data2 WHERE emp_id = $eid");
if($q->num_rows() > 0) {
$d = $q->row_array();
$temp = $d['entry'];
if($temp > 100) {
return 'login';
} else {
return 'logout';
}
} else {
return 'No data found';
}
}
?>
查看中:
<?php
$explode_empids = explode(',', $all_empids);
foreach ($explode_empids as $eid) {
$check_login_or_logout = $this->user_m->get_login_or_logout($eid);
echo $check_login_or_logout;
}
?>
关于php - 如何将 id 传递到 foreach 循环中以获取所有相关记录?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34693267/