简体   繁体   English

如何在代码点火器中使用where子句并与2个参数分组

[英]how to use clause where and group with 2 paramater in code igniter

I have model like this 我有这样的模特

Model: 模型:

public function lihatgajiharian($id,$tglitung){
$status='m';
          $this->db->select('count( tgl ) AS total, absen.id, pegawai.nama, pegawai.bagian, pegawai.bagian, pegawai.tglmasuk, gaji.jenis_gaji, gaji.jumlah, gajiharian.id_gajiharian, gajiharian.status, gajiharian.tgldigaji,
          (CASE WHEN (weekday( tgl ) <=3) THEN date( tgl + INTERVAL( 3 - weekday( tgl ) )DAY )
          ELSE date( tgl + INTERVAL( 3 +7 - weekday( tgl ) )DAY )END) AS tglitung');
          $this->db->from('absen');
          $this->db->join('pegawai', 'pegawai.id = absen.id');
          $this->db->join('gaji', 'gaji.id = pegawai.id');
          $this->db->join('gajiharian', 'gajiharian.= absen.id','left');
          $this->db->where('absen.id',$id);
          $this->db->where('absen.status',$status);
          $this->db->group_by('absen.id');
          $this->db->group_by('tglitung');  
          $this->db->having('tglitung', $tglitung);
          $query = $this->db->get();
          return $query->row();

and appear error, 并出现错误,

Error Number: 1064 错误号:1064

You have an error in your SQL syntax; 您的SQL语法有误; check the manual that corresponds to your MySQL server version for the right syntax to use near 'absen . 查看与您的MySQL服务器版本相对应的手册,以获取在'absen附近使用的正确语法. id WHERE absen . 我在WHERE缺席. id = '15' AND absen . id = '15' AND '15 = '15' AND缺席. status = 'm' GROUP BY abs' at line 6 but if I try run query in sql like this status = 'm' GROUP BY abs'在第6行,但是如果我尝试像这样在sql中运行查询

Check near third join gajiharian you have put only dot there not with column add it and problem will be solved... 检查附近的第三次加入gajiharian您只将点放在那儿而不用列将其添加,问题将得到解决...

$status='m';
          $this->db->select('count( tgl ) AS total, absen.id, pegawai.nama, pegawai.bagian, pegawai.bagian, pegawai.tglmasuk, gaji.jenis_gaji, gaji.jumlah, gajiharian.id_gajiharian, gajiharian.status, gajiharian.tgldigaji,
          (CASE WHEN (weekday( tgl ) <=3) THEN date( tgl + INTERVAL( 3 - weekday( tgl ) )DAY )
          ELSE date( tgl + INTERVAL( 3 +7 - weekday( tgl ) )DAY )END) AS tglitung');
          $this->db->from('absen');
          $this->db->join('pegawai', 'pegawai.id = absen.id');
          $this->db->join('gaji', 'gaji.id = pegawai.id');
          $this->db->join('gajiharian', 'gajiharian.column= absen.id','left'); //in this line problem occurs
          $this->db->where('absen.id',$id);
          $this->db->where('absen.status',$status);
          $this->db->group_by('absen.id');
          $this->db->group_by('tglitung');  
          $this->db->having('tglitung', $tglitung);
          $query = $this->db->get();
          return $query->row();

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM