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>";
                }


             }


avatar dazoel17
@dazoel17

14 Kontribusi 0 Poin

Diperbarui 5 tahun yang lalu

3 Jawaban:

jika menggunakan model eloquent seperti ini:

<pre> $insert=model::create([ 'name'=&gt;'budi', 'class'=&gt;'1 sd', ]);

modelupdate::where('model_id',$insert-&gt;id)-&gt;update([ //update ]); </pre>

avatar vreallyla
@vreallyla

14 Kontribusi 1 Poin

Dipost 5 tahun yang lalu

berarti itu hanya di model nya saja yah hee, kalo controller nya mh kurang lebih sama kan ?

avatar dazoel17
@dazoel17

14 Kontribusi 0 Poin

Dipost 5 tahun yang lalu

Mungkin bisa menggunakan script ini kak, lebih simple

<pre> $model = new Model(); $model-&gt;nama = $request-&gt;input('nama'); $model-&gt;harga = $request-&gt;input('harga'); $model-&gt;status = $request-&gt;input('status'); $model-&gt;save();

$model-&gt;status = 'cekin'; $model-&gt;save();

</pre> $model-&gt;save() yang pertama berfungsi untuk menyimpan data baru, sedangkan yang kedua untuk update data yang baru disimpan.

avatar zillucks
@zillucks

28 Kontribusi 8 Poin

Dipost 5 tahun yang lalu

Tanggapan

Selain new masih ada yg lain ga ya?

Login untuk ikut Jawaban