Cara mengguankan Update Batch pada codeiginiter

Mau tanya , untuk format update batch seperti apa ya , jika menggunakan foreach ?? untuk insert nya saya menggunakan


$id_quotation = $this->input->post('id_quotation');

		foreach ($_POST['dt'] as $dt) {
			$this->db->set('id_quotation' , $id_quotation);
			$this->db->insert('quotation_detail' , $dt);
		}

Nah pada saat update nya seperti apaa jika dengan contoh insert seperti di atas ? Mohon bantuan nya ,,

avatar farah92
@farah92

49 Kontribusi 10 Poin

Diperbarui 6 tahun yang lalu

9 Jawaban:

Sesuai yang disini https://www.codeigniter.com/user_guide/database/query_builder.html?highlight=where#CI_DB_query_builder::update_batch

pake metode update_batch(table, fieldArray, value)

cek juga insert_batch buat metode insernya

pertanyaannya btw mau pake update_batch atau ngga? sama yang contoh mau diupdate yang field mana

avatar hilmanski
@hilmanski

2686 Kontribusi 2135 Poin

Dipost 7 tahun yang lalu

dari contoh insert yang atas , yg saya buat menyimpan 5 rows. Nah saya ingin update ke 5 rows tersebut ..


foreach ($_POST['user'] as $user)
		{

		}
		$this->db->update_batch('bd' , $user);

saya bingung pada saat menambahkan komponen value nya .. " update_batch(table, fieldArray, value)"

avatar farah92
@farah92

49 Kontribusi 10 Poin

Dipost 7 tahun yang lalu

coba klik linknya disana ada contoh penggunaan update_batch, saya ngga ngerti kolom yang mana yang mau diupdate, struktur tablenya seperti apa dll.

avatar hilmanski
@hilmanski

2686 Kontribusi 2135 Poin

Dipost 7 tahun yang lalu

ini contoh nya

itu ada 2 rows , nah jika saya ingin mengupdate kedua nya itu bagaimana ? saya coba menggunakan update batch, tapi bingung value nya yg mana ..

avatar farah92
@farah92

49 Kontribusi 10 Poin

Dipost 7 tahun yang lalu

avatar farah92
@farah92

49 Kontribusi 10 Poin

Dipost 7 tahun yang lalu

"value" di update_batch kaya metode WHERE nya mau berdsasarkan apa updatenya. Contoh dibawah mau update kolom "name" dan "address" berdasarkan title (valuenya)


$data = [
 [
      'title' => 'My title' ,
      'name' => 'My Name' ,
      'address' => 'My address'
 ],
  [
      'title' => 'My title 2',
      'name' => 'My Name 2' ,
      'address' => 'My address 2'
   ]
];

$this->db->update_batch('namatable', $data, 'title');

//SQLnya nanti
// UPDATE `namatable` SET `name` = CASE
// WHEN `title` = 'My title' THEN 'My Name'
// WHEN `title` = 'My title 2' THEN 'My Name 2'
// ELSE `name` END,
// `address` = CASE
// WHEN `title` = 'My title' THEN 'My address'
// WHEN `title` = 'My title 2' THEN 'My address 2'
// ELSE `address` END
// WHERE `title` IN ('My title', 'My title 2')

avatar hilmanski
@hilmanski

2686 Kontribusi 2135 Poin

Dipost 7 tahun yang lalu

Jawaban Terpilih

ini jawaban yang benar nya yaaa ..


$data = array();
		foreach($_POST['dt'] as $user)
		{
			$data[] = $user;

		}
		$this->db->update_batch('product_detail' , $data , 'id_product_detail' );

avatar farah92
@farah92

49 Kontribusi 10 Poin

Dipost 7 tahun yang lalu

Bagaimana jika berdasarkannya lebih dari 1

avatar adeavenged
@adeavenged

1 Kontribusi 0 Poin

Dipost 6 tahun yang lalu

$_POST['dt'] dt itu name apa ya kak?

avatar AryaBayu
@AryaBayu

2 Kontribusi 0 Poin

Dipost 6 tahun yang lalu

Login untuk ikut Jawaban