Paradox
1 سال پیش توسط Paradox مطرح شد
3 پاسخ

enum casting در لاراول

سلام من برای جنسیت از enum casting استفاده کردم
فیلد دیتابیس

            $table->integer('gender')->nullable();

و یک enum ایجاد کردم

<?php

namespace App\Enums;

enum Gender: int
{
    case Boy = 0;
    case  Girls  = 1;
}

و مدل user

    protected $casts = [
        Gender::class,
    ];

و حالا میخام تو پروفایل کاربر جنسیت رو نمایش بدم به جای این اعداد چطور مشخص کنم که دختر یا پسر نمایش داده بشه ؟

یا به جای اینکار در دیتابیس ابتدا از فیلد enum استفاده کنم ؟
ممنون میشم راهنمایی کنید


ثبت پرسش جدید
سینا خاقانی
تخصص : توسعه دهنده بک‌اند
@sina.it91 1 سال پیش مطرح شد
0

@codeLover
سلام تعریف فیلد enum در لاروال به این شکل است

$table->enum('gender', ['f', 'm']);

برای نمایش جنسیت کاربر میتونی از accessors-and-mutators استفاده کنی


محمدحسن یگانه
تخصص : Full-Stack Web Developer Freel...
@mhyeganeh 1 سال پیش مطرح شد
0

پیشنهادم استفاده از این پکیج هست که خیلی امکانات خوبی بهتون میده:
https://github.com/BenSampo/laravel-enum

در خصوص casting هم مثالش به این صورت میشه:

use BenSampo\Enum\Tests\Enums\UserType;

class Example extends Model{

    protected $casts = [
        'user_type' => UserType::class, // Example enum cast
    ];
}

Paradox
تخصص : در حال یادگیری
@paradox 1 سال پیش مطرح شد
0

ممنونم درست شد 🙏


برای ارسال پاسخ لازم است وارد شده یا ثبت‌نام کنید

ورود یا ثبت‌نام