MIF_E31211879/application/modules/api/controllers/Konsumsi.php

166 lines
5.7 KiB
PHP

<?php
defined('BASEPATH') or exit('No direct script access allowed');
class Konsumsi extends REST_Controller
{
public function __construct()
{
parent::__construct();
// $this->load->model("ModelAuth");
$this->load->model("ModelKonsumsi");
}
public function konsumketer_get($id_user, $waktu, $keterangan)
{
$this->load->model('ModelKonsumsi');
$data_join = $this->ModelKonsumsi->getketer($id_user, $waktu, $keterangan);
$id_user = $this->post($data_join['id_user']);
$waktu = $this->post($data_join['waktu']);
$keterangan = $this->post($data_join['keterangan']);
$data = array(
'id_user' => $id_user,
'waktu' => date($waktu),
'keterangan' => $keterangan,
);
$message = array(
'status' => 200,
'message' => "Coba Berhasil"
);
$this->response(array('response' => $data, 'message' => $message));
}
// $this->db->select('*');
// $this->db->from('konsumsi');
// $this->db->join('bahan_makanan', 'konsumsi. = bahan_makanan.');
// //$data = $this->db->get("konsumsi");
// $id_user = $this->get('id_user');
// $waktu = $this->get('waktu');
// $nama_makanan = $this->get('nama_makanan');
// $besaran = $this->get('besaran');
// $id_detail = $this->get('id_detail');
// $id_konsumsi = $this->get('id_konsumsi');
// $id_makanan = $this->get('id_makanan');
// $kuantitas = $this->get('kuantitas');
// $kategori = $this->get('kategori');
// $urt = $this->get('urt');
// $energi = $this->get('energi');
// $karbohidrat = $this->get('karbohidrat');
// $protein = $this->get('protein');
// $lemak = $this->get('lemak');
// $besi = $this->get('besi');
// $vitamina = $this->get('vitamina');
// $vitaminc = $this->get('vitaminc');
// $data = array(
// 'id_user' => $id_user,
// 'waktu' => $waktu,
// 'nama_makanan'=> $nama_makanan,
// 'besaran'=> $besaran,
// 'id_detail'=> $id_detail,
// 'id_konsumsi'=> $id_konsumsi,
// 'id_makanan'=> $id_makanan,
// 'kuantitas'=> $kuantitas,
// 'kategori'=> $kategori,
// 'urt'=> $urt,
// 'energi'=> $energi,
// 'karbohidrat'=> $karbohidrat,
// 'protein' => $protein,
// 'lemak'=> $lemak,
// 'besi' => $besi,
// 'vitamina'=> $vitamina,
// 'vitaminc'=> $vitaminc,
// );
public function joinkonsum($id_user)
{
$this->db->select('nama_makanan');
$this->db->from('bahan_makanan');
$this->db->join('konsumsi_detail', 'bahan_makanan.id_makanan = konsumsi_detail.id_makanan');
$this->db->join('konsumsi', 'konsumsi_detail.id_konsumsi = konsumsi.idkonsumsi');
$this->db->where('konsumsi.user_id_user', $id_user);
// Execute the query and get the result
$query = $this->db->get();
// Check if there are rows in the result
if ($query->num_rows() > 0) {
// Return the result as an array of objects
return $query->result();
} else {
// Return an empty array if no rows found
return array();
}
}
public function Konsumsi_post()
{
$id_user = $this->post("id_user");
$total_kalori = $this->post("total_kalori");
$keterangan = $this->post("keterangan");
$kmakanan = $this->post("bahan_makanan_nama_makanan"); // Ambil data dari input "bahan_makanan_nama_makanan" sebagai array
$kuantitas = $this->post("kuantitas");
$data = array(
'waktu' => date("Y-m-d"),
'create_on' => date("Y-m-d H:i:s"),
'total_kalori' => $total_kalori,
'keterangan' => $keterangan,
'user_id_user' => $id_user,
);
if ($this->db->insert('konsumsi', $data)) {
$insert_id = $this->db->insert_id();
// Ubah string JSON menjadi array
// $kmakanan = json_decode($kmakanan);
// $kuantitas = json_decode($kuantitas);
// Iterate through the array of bahan_makanan_nama_makanan and insert them into konsumsi_detail
if (count($kmakanan) === count($kuantitas)) {
for ($i = 0; $i < count($kmakanan); $i++) {
$makanan_id = $kmakanan[$i];
$quantities = $kuantitas[$i];
$data2 = array(
'id_makanan' => $makanan_id,
'kuantitas' => $quantities,
'id_konsumsi' => $insert_id
);
$this->db->insert('konsumsi_detail', $data2);
}
$response = array(
'field' => 'id konsumsi detail',
'message' => 'Data berhasil disimpan.'
);
$result = $this->joinkonsum($id_user);
$response = array(
'field' => 'id konsumsi',
'message' => 'Bisa kan sekarang' //$makanan_id // Ini akan menjadi makanan_id terakhir dalam loop, periksa apakah itu sesuai dengan kebutuhan Anda.
);
} else {
$response = array(
'status' => 400,
'message' => 'Jumlah elemen dalam kmakanan dan kuantitas tidak sesuai.'
);
}
} else {
$response = array(
'status' => 500,
'message' => "INTERNAL_SERVER_ERROR"
);
}
$status_response = array(
'status' => 200,
'message' => "OK"
);
$final_response = array("response" => $response, "message" => $status_response);
$this->response($final_response);
}
}