Field Featatting သည် Database စားပွဲများအတွက်အကဲဖြတ်ခြင်းသို့မဟုတ်ထုတ်လုပ်ခြင်းကိုတိကျသောပုံစံချခြင်းလိုအပ်ချက်များနှင့်ကိုက်ညီစေရန်ပြောင်းလဲခြင်းသို့မဟုတ်ထုတ်ယူခြင်းကိုရည်ညွှန်းသည်။ Laravel framework တွင်ကျွန်ုပ်တို့သည်မော်ဒယ်၏နယ်ပယ်ပုံစံကိုသုံးနိုင်သည်။
Laravel သည်မော်ဒယ်အကွက်များကိုသတ်မှတ်ထားသောဒေတာအမျိုးအစားများသို့ပြောင်းလဲစေသည့်အစွမ်းထက်သောပစ္စည်းဥစ်စာပိုင်ဆိုင်မှုကိုထောက်ပံ့ပေးသည်။ မော်ဒယ်ရှိ $ Casts property ကိုသတ်မှတ်ခြင်းသည်ဒေတာဘေ့စ်ရှိကွက်လပ်များကိုဒေတာအမျိုးအစားသို့အလိုအလျောက်ပြောင်းလဲနိုင်သည်။
$casts = [
'birthday' => 'date:Y-m-d',
'enabled' => 'boolean',
];
// ပြောင်းလဲလယ်ကွင်းကိုသုံးပါ
echo $model->birthday; // ထုတ်လုပ်ခြင်း 2022-01-01
echo $model->enabled; // ထုတ်လုပ်ခြင်း true
အထက်ပါကုဒ်နမူနာတွင်မွေးနေ့ကို 'YM-D' သို့ပြောင်းရွှေ့သည်။
အမျိုးအစားပြောင်းလဲခြင်းအတွက်ပုံမှန်ဒေါ်လာချမှတ်ထားသော attribute ကိုအသုံးပြုခြင်းအပြင် Laravel သည် Custom accessors များနှင့်ပြုပြင်မွမ်းမံသူများအားပိုမိုရှုပ်ထွေးသောကွင်းဆင်းပြောင်းခြင်းအတွက်လည်းခွင့်ပြုသည်။
Accessor သည်လယ်ကွင်းတန်ဖိုးများကိုရယူသည့်အခါကျွန်ုပ်တို့အားစိတ်ကြိုက်ပြုပြင်ခြင်းပြုလုပ်ရန်ခွင့်ပြုသည်။ ဥပမာအားဖြင့်ကျွန်ုပ်တို့သည်နေ့စွဲကိုတိကျစွာ string ကိုပုံစံဖြင့် format လုပ်နိုင်သည်။
public function getBirthdayAttribute($value)
{
return date('Yခုနှစ်mလdနေ့', strtotime($value));
}
// accessor ကိုအသုံးပြုခြင်း
echo $model->birthday; // ထုတ်လုပ်ခြင်း 2022ခုနှစ်01လ01နေ့
အထက်ဖော်ပြပါကုဒ်သည်မွေးနေ့ကို 'y နှစ်လလ Day day' ပုံစံဖြင့်ဖွဲ့စည်းသည်။
အချက်အလက်များကိုသိမ်းဆည်းခြင်းမပြုမီလယ်ယာတန်ဖိုးများကိုပြုပြင်ရန်အသုံးပြုသည်။ ဥပမာအားဖြင့်ကျွန်ုပ်တို့သည် String ၏ရက်စွဲပုံစံကိုဒေတာဘေ့စ်မှလိုအပ်သောစံသတ်မှတ်ထားသောပုံစံသို့ပြောင်းလဲနိုင်သည်။
public function setBirthdayAttribute($value)
{
$this->attributes['birthday'] = date('Y-m-d', strtotime($value));
}
// Modifier ကိုသုံးပါ
$model->birthday = '2022ခုနှစ်01လ01နေ့';
$model->save();
အထက်ပါကုဒ်သည်မွေးနေ့၏တန်ဖိုးကို SetBirTDeaduthitute Method မှတဆင့် 'YMD' format ကိုပြောင်းလဲစေပြီးဒေတာဘေ့စ်သို့သိမ်းဆည်းသည်။
အမှန်တကယ်ဖွံ့ဖြိုးတိုးတက်မှုတွင်စီမံကိန်း၏လိုအပ်ချက်များနှင့်ကိုက်ညီမည့်နေ့စွဲနှင့်ကိုက်ညီရန်ရက်စွဲအကွက်ကို format လုပ်ရန်မကြာခဏလိုအပ်သည်။ Laravel သည်ရက်စွဲလယ်ကွင်းပုံစံများကိုပြောင်းလဲရန်အဆင်ပြေသောနည်းလမ်းကိုပေးသည်။
$casts = [
'birthday' => 'date:Y-m-d',
];
public function getBirthdayAttribute($value)
{
return date('Yခုနှစ်mလdနေ့', strtotime($value));
}
public function setBirthdayAttribute($value)
{
$this->attributes['birthday'] = date('Y-m-d', strtotime($value));
}
အထက်ဖော်ပြပါကုဒ်သည်ဒေတာအမျိုးအစားကိုနေ့စွဲပုံစံဖြင့် 'YM-D' သို့ပထမဆုံးအကြိမ်အဖြစ်ပြောင်းလဲပြီးရက်စွဲကို format လုပ်ရန် Accessor နှင့် Modifier ကိုအသုံးပြုသည်။
ဒေတာဘေ့စ်တွင်အချို့သောနယ်ပယ်များကို Boolean တန်ဖိုးများကိုကိုယ်စားပြုရန်ကိန်း (0) 1) ဟုသတ်မှတ်နိုင်သည်။ သို့သော်စီးပွားရေးဆိုင်ရာယုတ္တိဗေဒတွင်ကျွန်ုပ်တို့သည် Boolean တန်ဖိုးများကိုတိုက်ရိုက်အသုံးပြုလိုသည်။ BoOOLEAN သို့ Casts အမျိုးအစားကိုသတ်မှတ်ခြင်းဖြင့်အလိုအလျောက်ပြောင်းလဲခြင်းကိုရရှိနိုင်ပါသည်။
$casts = [
'enabled' => 'boolean',
];
အထက်ပါကုဒ်သည်ဒေတာအမျိုးအစားကို bolean type သို့ bolean type သို့ပြောင်းလဲပြီးကိန်းဂဏန်း (0 သို့မဟုတ် 1) ကို boolean value (True or false) သို့အလိုအလျောက်ပြောင်းလဲပေးသည်။
နေ့စွဲနှင့် Boolean အမျိုးအစားများ၏ပုံစံအမျိုးမျိုး၏ပုံစံချခြင်းအပြင်အခြား fields များကိုလည်း 0 င်ရောက်သူများနှင့်ပြုပြင်မွမ်းမံသူများမှတဆင့်ပြောင်းလဲနိုင်သည်။ ဥပမာအားဖြင့်ကိန်းဂဏန်းအမျိုးအစားကိုငွေပမာဏပုံစံသို့ပြောင်းပါသို့မဟုတ်၎င်းကိုရာခိုင်နှုန်း format ဖြင့်ပြောင်းပါ။
public function getAmountAttribute($value)
{
return number_format($value, 2);
}
public function setAmountAttribute($value)
{
$this->attributes['amount'] = str_replace(',', '', $value);
}
အထက်ပါကုဒ်တွင်ငွေပမာဏကို format form လုပ်ခြင်း (ဒ decimal မသောနေရာနှစ်ခုကိုထိန်းသိမ်းရန်) ကို format လုပ်ထားသည့် format ကို format လုပ်ရန်နှင့်ပမာဏပုံစံကိုပုံမှန်နံပါတ်ပုံစံသို့ပြောင်းလဲရန်အသုံးပြုသည်။
Field Formatting သည် Laravel တွင်အရေးကြီးသောအင်္ဂါရပ်တစ်ခုဖြစ်သည်။ ဤဆောင်းပါးတွင်ဖော်ပြထားသောကွင်းဆင်းပြောင်းလဲခြင်းနည်းလမ်းကိုမှတစ်ဆင့်ကျွန်ုပ်တို့သည်ယနေ့ခေတ်ပုံစံချခြင်း, Boolean အမျိုးအစားပြောင်းလဲခြင်းနှင့်အခြားထုံးစံနယ်ပယ်ပုံစံများကိုအလွယ်တကူကိုင်တွယ်နိုင်သည်။ ဤနည်းစနစ်များကိုကျွမ်းကျင်စေခြင်းကသင့်အားဖွံ့ဖြိုးတိုးတက်မှုလုပ်ငန်းစဉ်တွင်ပိုမိုထိရောက်စွာအဆင်ပြေစေနိုင်သည်။