راکت

enum casting در لاراول

3 پاسخ

سلام من برای جنسیت از 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 استفاده کنم ؟
ممنون میشم راهنمایی کنید

ثبت پرسش جدید

پاسخ‌ها

3
سینا خاقانی
سینا خاقانی
@sina.it91

تخصص: توسعه دهنده بک‌اند

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

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

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

محمدحسن یگانه
محمدحسن یگانه
@mhyeganeh

تخصص: Full-Stack Web Developer Freelancer

پیشنهادم استفاده از این پکیج هست که خیلی امکانات خوبی بهتون میده:
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
@paradox

تخصص: در حال یادگیری

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

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

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