Postingan lainnya
query gabungan di controller laravel
saya ingin bertanya caranya untuk mengeksekusi dari data yang ada, langsung menjalankan 2 query yakni yg pertama insert ke tabel yg lain dgn kondisi fieldnya sama, yg kedua update salah satu atribut nya ke tabel tersebut.
bagaimana yah ? utk script di php OOP tanpa framework udah bisa dijalankan, tetapi utk laravel bingung nih.
* berikut script OOP tanpa framework *
public function validcekin($id)
{
$valid = new koneksi();
$sqlorder ="SELECT * FROM cekin WHERE id='{$id}' limit 1";
$data = $valid->get_koneksi()->query($sqlorder);
while($d = $data->fetch_array(MYSQLI_BOTH))
{
$dat["id"] = $d["id"];
$dat["noktp"] = $d["noktp"];
$dat["nama"] = $d['nama'];
$dat["alamat"] = $d['alamat'];
$dat["no_telpon"] = $d['no_telpon'];
$dat["room"] = $d['room'];
$dat["harga"] = $d['harga'];
$dat["total_room"] = $d['total_room'];
$dat["tgl_cekin"] = $d['tgl_cekin'];
$dat["tgl_cekout"] = $d['tgl_cekout'];
$dat["status"] = $d['status'];
}
$sqlup="UPDATE cekin SET status='Checkin' WHERE id='{$dat["id"]}'";
$valid->get_koneksi()->query($sqlup);
$date_in = date_create($dat['tgl_cekin']);
$date_out = date_create($dat['tgl_cekout']);
$tgl_cekin = date_format($date_in,'Y-m-d');
$tgl_cekout = date_format($date_out,'Y-m-d');
$sqlin = "INSERT INTO cekout (id,noktp,nama,alamat,no_telpon,room,harga,total_room,tgl_cekin,tgl_cekout,status) VALUES('{$dat['id']}','{$dat['noktp']}','{$dat['nama']}','{$dat['alamat']}','{$dat['no_telpon']}','{$dat['room']}','{$dat['harga']}','{$dat['total_room']}','{$tgl_cekin}','{$tgl_cekout}','Belum Chekout')";
// $id = $dat["id"];
// $noktp = $dat["noktp"];
// $sqlin = "INSERT INTO cekin (id,noktp) values('".$id."','".$noktp."')";
// echo $sqlin;
$cek = $valid->get_koneksi()->query($sqlin);
// if($cek){
// echo "sudah terinsert";
// }
if($cek){
echo "<script> alert('Data Berhasil Checkin !'); ;window.location='cekin.php';</script>;";
}
else
{
echo "<script>alert ('Data Gagal Checkin !'); window.location='pesenan.php';</script>";
}
}
3 Jawaban:
jika menggunakan model eloquent seperti ini:
<pre> $insert=model::create([ 'name'=>'budi', 'class'=>'1 sd', ]);
modelupdate::where('model_id',$insert->id)->update([ //update ]); </pre>
berarti itu hanya di model nya saja yah hee, kalo controller nya mh kurang lebih sama kan ?
Mungkin bisa menggunakan script ini kak, lebih simple
<pre> $model = new Model(); $model->nama = $request->input('nama'); $model->harga = $request->input('harga'); $model->status = $request->input('status'); $model->save();
$model->status = 'cekin'; $model->save();
</pre> $model->save() yang pertama berfungsi untuk menyimpan data baru, sedangkan yang kedua untuk update data yang baru disimpan.
Tanggapan
Selain new masih ada yg lain ga ya?