Enumのエラー?
Howdy!
Miki3(ミキさん)です!
入力フォームからDBが登録できるか確認したら、enumクラスで設定した部分エラーが出てきました、、、、
見たことないエラー文でとりあえず検索してみます。
聞く前に一旦ググる!
エラー文をそのまま検索すると下記参考記事がありました!
参考記事:https://mask.hatenadiary.com/entry/2014/06/22/173729
確認してみるとBlade.phpのselect文のvalueが表示しているテキストと内容と同じなので、valueを書き換えて、、、
【修正前】
<select name="カラム名">
<option value="ああああ">ああああ</option>
<option value="いいいい">いいいい</option>
<option value="ええええ">ええええ</option>
</select><br>
【修正後】
<select name="juridical_personality_type">
<option value="1">ああああ</option>
<option value="2">いいいい</option>
<option value="3">ええええ</option>
</select><br>
再度入力フォームで入力しても同じエラーがかえって来ました!なんでー(´;ω;`)
Amazon.co.jp: Logicool G FITS ワイヤレス ゲーミングイヤホン GHS-FITSWH 耳型 成型 ノイズキャンセリング Bluetooth LIGHTSPEED usb レシーバー 対応 マイク付き 充電 PS5 PS4 Switch PC スマホ ハンズフリー ワイヤレスイヤホン ゲーミング イヤホン ホワイト 国内正規品 【 ファイナルファンタジー XIV 推奨モデル 】 : スポーツ&アウトドア
Amazon.co.jp: Logicool G FITS ワイヤレス ゲーミングイヤホン GHS-FITSWH 耳型 成型 ノイズキャンセリング Bluetooth LIGHTSPEED usb レシーバー 対応 マイク付き 充電 PS5 PS4 Switch PC スマホ ハンズフリー ワイヤレスイヤホン ゲーミン...
Amazon.co.jp
というわけで先輩に聞きました!
先輩に助けを求めるとどうやらEnumsフォルダ以下の該当ファイルに問題があるとのことです。
要は型の問題だった!
<?php
namespace App\Enums;
use BenSampo\Enum\Contracts\LocalizedEnum;
use BenSampo\Enum\Enum;
/**
* @method static static OptionOne()
* @method static static OptionTwo()
* @method static static OptionThree()
*/
final class ファイル名 extends Enum implements LocalizedEnum
{
const ああああ = 010;
const いいいい = 020;
const ええええ = 030;
}
Constメソッドに入る値は数値(010,020,030)だと判定が取れないので、数値を文字列に変換することが重要とのことで
<?php
namespace App\Enums;
use BenSampo\Enum\Contracts\LocalizedEnum;
use BenSampo\Enum\Enum;
/**
* @method static static OptionOne()
* @method static static OptionTwo()
* @method static static OptionThree()
*/
final class ファイル名 extends Enum implements LocalizedEnum
{
const ああああ = '010';
const いいいい = '020';
const ええええ = '030';
}
文字列に書き直しました!
変更してマイグレーションし直すと、、、
※php artisan migurateだと変更できないのでDBを綺麗にしてから再度入れ直します!
なので、DBのデータのバックアップを取ってから
php artisan migrate-freshのコマンドで入れ直しましょう!
この時DBのデータは消えてしまうので注意!!!
うまく通った!!!
Enumは使ったことがなかったので初めて知りました、、、、
初見だとこけてしまいますね(;^ω^)
Amazon.co.jp: 【Amazon.co.jp限定】Elgato Stream Deck Mini – Zoom、Teams、PowerPoint、MS Office、その他をコントロール。毎日使うアプリとシームレスに統合して生産性をアップ。ショートカットを簡単に設定。MacとPCに対応 : パソコン・周辺機器
Amazon.co.jp: 【Amazon.co.jp限定】Elgato Stream Deck Mini – Zoom、Teams、PowerPoint、MS Office、その他をコントロール。毎日使うアプリとシームレスに統合して生産性をアップ。ショートカットを簡単に設定。MacとPCに対応 : パソコン・周辺機器
Amazon.co.jp: 【Amazon.co.jp限定】Elgato Stream Deck +, オーディオミキサー, コンテンツクリエイターのためのライブ制作とスタジオコントローラー, ストリーミング, 配信, ゲーミング, カスタム可能なタッチストリップとダイヤルおよびLCDキー搭載, Mac/PC対応 : パソコン・周辺機器
Amazon.co.jp: 【Amazon.co.jp限定】Elgato Stream Deck +, オーディオミキサー, コンテンツクリエイターのためのライブ制作とスタジオコントローラー, ストリーミング, 配信, ゲーミング, カスタム可能なタッチストリップとダイヤルおよびLCDキー搭載, Mac/PC対応 : ...
Amazon.co.jp
コメント