Selasa, 02 November 2021

Cara Memeriksa Kolom dalam Tabel di Laravel: Panduan Praktis

Pada post kali ini, kita akan membahas yang hal tak kalah jauh penting nya didalam Laravel, yang mana ini sangat disaat-saat tertetu saja.

Database

Pada post kali ini, kita akan membahas yang hal tak kalah jauh penting nya didalam Laravel, yang mana ini sangat disaat-saat tertentu saja.

Kadang ada kalanya kita ingin memastikan bahwa column itu ada pada table kita, nah cara yang bisa Anda lakukan kira-kira seperti ini.

Schema::hasColumn($model->getTable(), $column)

Jika Anda bingung, saya akan mencontohkannya langsung, bayang jika Anda memiliki beberapa table yang masing-masing ada yang memiliki field yang namanya slug dan ada yang tidak, nah motivasinya, jika ada slug didalam table itu, kita ingin input secara otomatis. Oleh kareana mengapa di contoh berikut saya menggunakan Trait.

namespace App\Traits;

use Illuminate\Support\Str;
use Illuminate\Support\Facades\Schema;
trait Sluggable
{
    protected static function bootSluggable()
    {
        static::creating(function ($model) {
            if (Schema::hasColumn($model->getTable(), 'slug')) {
                $model->slug = Str::slug($model->name ?? $model->title) . '-' . strtolower(Str::random(6));
            }
        });
    }
}

Kemudian, masukkan trait tersebut didalam model yang membutuhkan seperti berikut.


// Product.php
use App\Traits\Sluggable;
class Product extends Model 
{
	use Sluggable;
	//
}

// Category.php
use App\Traits\Sluggable;
class Category extends Model 
{
	use Sluggable;
	//
}

// User.php - Yang tidak membutuhkan
class User extends Authenticatable
{
	//
}
Karteil
Destinasi Utama Belajar Online dengan Format Tulisan yang Elegan
Kunjungi Sekarang

Irsyad A. Panjaitan

Let's start living like no one can help us in any event, so that when we are helped in certain times, it becomes a plus in itself.

Irsyad A. PanjaitanGo to Irsyad A. Panjaitan profile

Artikel yang Terkait

Like System dengan Laravel Polymorphic
IAPIrsyad A. Panjaitan
Laravel Dengan Multi Koneksi Database: Panduan Langkah demi Langkah
AAAbd. Asis
Tutorial Laravel Pruning: Menjaga Database Anda Tetap Ringan dan Efisien
IAPIrsyad A. Panjaitan
Pahami Berbagai Jenis Relasi dalam Laravel
EHSElfan Hari Saputra
Belajar PHP Data Object (PDO): Panduan Lengkap
IAPIrsyad A. Panjaitan
Solusi Error: 'SET PASSWORD has no significance for user 'root'@'localhost' Mysql
YNYandi Novriandi
Menggunakan Laravel Migrations Generator
IAPIrsyad A. Panjaitan