前提
Laravel v8.83.23 に
"bensampo/laravel-enum": "^4.2"
をインストールして使用しています
実現したいこと
- laravel-enumをif文の比較に使用する
該当のソースコード
bensampo/laravel-enumのライブラリを使用して
以下のenumを作成しました
php
1<?php 2 3namespace App\Enums; 4 5use BenSampo\Enum\Enum; 6 7final class UnfollowFlg extends Enum 8{ 9 const UNFOLLOW_NEEDLESS = 0; 10 const UNFOLLOW_NEED = 1; 11 12 public static function getDescription($value): string 13 { 14 switch ($value){ 15 case self::UNFOLLOW_NEEDLESS: 16 return 'アンフォロー不要'; 17 brake; 18 case self::UNFOLLOW_NEED: 19 return 'アンフォロー対象'; 20 brake; 21 default: 22 return self::getKey($value); 23 } 24 } 25 26 public static function getValue(string $key) 27 { 28 switch ($key){ 29 case 'アンフォロー不要': 30 return 0; 31 case 'アンフォロー対象': 32 return 1; 33 default: 34 return parent::getValue($key); 35 } 36 } 37} 38?>
そのenumを
namespace App\Console\Commands
配下のクラスでif文の条件にしようとしています
PHP
1 $unfollow_check = makeUnfollowCheckClass::makeUnfollowCheck($twitterToken->twitter_account_id, $targetId); 2 Log::debug($unfollow_check); 3 if ($unfollow_check->is(UnfollowFlg::getValue('アンフォロー対象'))) { 4 Log::debug('到達確認'); 5 self::callUnfollowApi($twitter, $unfollowJob->id, $targetId, $twitterToken->twitter_account_id); 6 }
Log::debug($unfollow_check);
には1が出力されてるのでif文の処理の中に入る想定ですが
Log::debug('到達確認');
は出力されていません。
enumをif文の条件に使用することは可能でしょうか?
補足情報(FW/ツールのバージョンなど)
Laravel v8.83.23
PHP v7.4.18

回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。