Recent Posts
Laravel: Cara Memeriksa Jika Record Exists
Ada beberapa cara untuk memeriksa apakah record ada di database pada aplikasi Laravel, berikut ini adalah contoh scriptnya: Cek Record Menggunakan Exists Cara pertama untuk memeriksa apakah sebuah record ada adalah menggunakan metode “exists()” yang tersedia pada Query Builder, dengan menggunakan metode ini akan mendapatkan nilai boolean true atau false. <?php if (Post::where('id', 1)->exists()) { dd('this post is exists'); } else { dd('this post is NOT exists'); } Cek Record Menggunakan First Cara kedua untuk memeriksa apakah suatu record ada atau tidak adalah dengan menggunakan “first()” yang akan mengambil instance pertama dan kemudian memeriksanya dengan fungsi “isset” untuk melihat apakah ada nilai atau tidak. Metode first() ditujukan untuk mengambil hasil pertama dari pencarian database. <?php $post = Post::where('id', 1)->first(); if (isset($post)) { dd('this post is exists'); } else { dd('this post is NOT exists'); } Cek Record Menggunakan isEmpty dan isNotEmpty Cara ketiga adalah memeriksa menggunakan metode “isEmpty()” dan “isNotEmpty()” dan metode ini akan memeriksa collection. Metode ini mengunakan perintah get() yang ditujukan untuk mengambil hasil (koleksi) dari pencarian database. isEmpty() <?php $posts = Post::where('id', '>', 100)->get(); if ($posts->isEmpty()) { dd('posts NOT exists'); } else { dd('posts exists'); } isNotEmpty() <?php $posts = Post::where('id', '>', 100)->get(); if ($posts->isNotEmpty()) { dd('posts exists'); } else { dd('posts NOT exists'); } Cek Record Menggunakan count Cara keempat adalah memeriksa menggunakan fungsi “count()” dan ini akan menghitung jumlah koleksi record. <?php $posts = Post::where('id', '>', 100)->get(); if (count($posts)) { dd('posts exists'); } else { dd('posts NOT exists'); } Contoh Penerapan di Blade @if (isset($post)) { {{ $post->title }} @endif @if ($posts->isNotEmpty()) { @foreach ($posts as $post) {{ $post->title }} @endforeach @endif
Laravel Return Response JSON Error Message on Ajax
//Controller try { //YOUR CODE HERE... return response()->json(['message'=>'Success!']); } catch (\Exception $e) { return response()->json(['message' => $e->getMessage()], 500); } //HTML $.ajax({ type:'POST', url:'/thisurl', data:{name:name}, success:function(data){ //Swal.close(); alert(data.message); }, error:function(XMLHttpRequest) { if (XMLHttpRequest.readyState == 0) { alert('Network error (i.e. connection refused, access denied due to CORS, etc.)'); //Swal.fire({ // icon: 'error', // title: 'Oops...', // text: 'Network error (i.e. connection refused, access denied due to CORS, etc.)' //}); } else { //can be checked by XMLHttpRequest.status and XMLHttpRequest.statusText alert(XMLHttpRequest.responseJSON.message); //Swal.fire({ // icon: 'error', // title: 'Oops...', // text: XMLHttpRequest.responseJSON.message //}); } } });
Menghitung Hari Antara Dua Tanggal Pada Javascript
Menghitung atau Mendapatkan Jumlah Hari Antara Dua Tanggal Pada Javascript <script> function countHari(date1, date2) { //date1 = 11-09-2021 //date2 = 08-10-2021 //Pertama kita membagi nilai ke array date1[0] adalah hari, [1] bulan dan [2] tahun date1 = date1.split('-'); date2 = date2.split('-'); const oneDay = 24 * 60 * 60 * 1000; //hours*minutes*seconds*milliseconds //JavaScript menghitung bulan dari 0 sampai 11. dimana 0 = Januari, 1 = Februari, dst //Sehingga kita harus mengurangi nilai 1 pada value Bulan date1[1] const firstDate = new Date(date1[2], date1[1]-1, date1[0]); //Date(2021, 09, 11) const secondDate = new Date(date2[2], date2[1]-1, date2[0]); //Date(2021, 10, 08) const diffDays = Math.round(Math.abs((firstDate - secondDate) / oneDay)); return diffDays; } function countFunction() { const jumlahHari = countHari('11-09-2021', '08-10-2021'); alert(jumlahHari); } </script>
Contoh Penerapan Pivot Table Pada Laravel
Hari ini kita membahas tentang fitur Laravel yang sangat berguna tetapi pada awalnya mungkin sulit untuk dipahami. Tabel pivot (Pivot Tables) adalah contoh tabel perantara dengan hubungan antara dua tabel “utama” lainnya atau istilahnya Many to Many Relationships. Pada tutorial ini saya akan mengambil contoh antara user dan role, dimana satu user dapat memiliki banyak role dan sebaliknya satu role dapat dimiliki oleh banyak user, maka kita membutuhkan satu tabel tambahan bernama role_user, nah table role_user inilah yang disebut sebagai pivot table atau table perantara. Aturan penulisan pivot table yang benar adalah sesuai abjad masing-masing table yang ingin kita hubungkan, misalnya Role dan User diawali dengan huruf “R” dan “U” maka sesuai abjad adalah “R” yang lebih dulu daripada huruf “S”, maka tabel penghubungnya (Pivot Table) bisa kita buat menjadi role_user. Jadi, di bawah ini adalah struktur database yang akan kita terapkan: users – id – name – email – password roles – id – name role_user – user_id – role_id Kita sudah mengetahui struktur table yang ingin kita buat, selanjutnya buatlah migrasi database terlebih dahulu. //users table public function up() { Schema::create('users', function (Blueprint $table) { $table->id(); $table->string('name'); $table->string('email')->unique(); $table->string('password'); $table->timestamps(); }); } //roles table public function up() { Schema::create('roles', function (Blueprint $table) { $table->id(); $table->string('name', 30)->unique(); }); } //role_user table harus sesuai abjad lebih dulu public function up() { Schema::create('role_user', function (Blueprint $table) { $table->id(); $table->bigInteger('role_id')->unsigned(); $table->foreign('role_id') ->references('id')->on('roles') ->onDelete('cascade'); $table->bigInteger('user_id')->unsigned(); $table->foreign('user_id') ->references('id')->on('users') ->onDelete('cascade'); }); } app/Models/User.php protected $table = 'users'; public function roles() { return $this->belongsToMany(App\Models\Role::class); } app/Models/Role.php protected $table = 'roles'; public $timestamps = false; public function users() { return $this->belongsToMany(App\Models\User::class); } app/Models/RoleUser.php protected $table = 'role_user'; public $timestamps = false; Controller use Illuminate\Support\Facades\DB; public function create() { $roles = Role::select('id', 'name')->get(); return view('users.create', compact('roles')); } public function store(Request $request) { $request->validate([ 'name'=>'required|string|max:100',.
Subscribe To Us !
Here you will find all the different ways to stay up to date with the newest articles on our website.