$this->db->query()
関数は、成功または失敗した場合にのみTRUE/FALSEを返します。データベースの結果セットを返したり、クエリタイマーを設定したり、バインドデータをコンパイルしたり、デバッグ用にクエリを保存したりすることはありません。クエリを送信するだけです。ほとんどのユーザーがこの機能を使用することはめったにありません。
この方法を試してください:-
$sql = "SELECT
a.ar,
a.jabatan,
COUNT(*) AS JumlahWPBaru,
SUM(
CASE WHEN a.no_shim IS NOT NULL
THEN 1
WHEN a.no_shim IS NULL
THEN 0
END ) AS JumlahHimbauan
FROM (
SELECT
a.ar,
c.jabatan,
a.npwp,
a.kpp,
a.cab,
a.namawp,
b.kd_shim,
b.no_shim,
b.tgl_shim
FROM mfwpbudi a
LEFT JOIN tb_shimbauan b ON ( a.npwp = b.npwp )
LEFT JOIN easystp_user c ON ( SUBSTR( a.ar, 1, 9 ) = c.id_user )
WHERE a.tanggal_daftar > '2013-12-31'
AND c.jabatan = '05E'
) AS a
GROUP BY a.ar";
$query = $this->db->query($sql);
$result = $query->result_array();
return $result;