ホームページ  >  記事  >  PHPフレームワーク  >  laravel設定を変更してデフォルトの0をnull値関数として実装する方法

laravel設定を変更してデフォルトの0をnull値関数として実装する方法

PHPz
PHPzオリジナル
2023-04-03 18:52:21756ブラウズ

Laravel は、近年 Web 開発で広く使用されている非常に人気のある PHP フレームワークです。ただし、Laravel フレームワークを使用して MySQL データベース操作を実行すると、デフォルトで 0 に設定されているフィールドを null 値として正しく格納できないことがわかり、多くの開発者に問題を引き起こしています。

Laravel では、MySQL の設定ファイルを変更し、Laravel プロジェクトの設定ファイルを変更することで、デフォルトで null 値を 0 にする機能を実装できます。以下、一つずつやり方を解説していきます。

MySQL 構成ファイルを変更する

デフォルト値の 0 は、MySQL 構成ファイルを変更することで実現できます。まず、MySQL 構成ファイルを開く必要があります。このファイルは通常、MySQL インストール ディレクトリにあり、my.cnf または my.ini という名前が付けられます。次に、ファイルの最後に次のコードを追加します。

sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES

このコードは、MySQL の厳密モードを無効にし、MySQL をより柔軟にします。次に、ファイルを保存し、MySQL サービスを再起動します。上記の操作を完了した後、デフォルト値 0 のフィールドに null を割り当てることができます。フィールドは null 値として保存されます。

Laravel 設定ファイルを変更する

もう 1 つの方法は、Laravel プロジェクトの設定ファイルを変更して、デフォルト値の 0 を null にすることです。 Laravel プロジェクトの設定ファイル config/database.php を開き、対応する MySQL 接続情報を見つけて、次の設定を config 配列に追加します。

'charset' => 'utf8mb4',
'collation' => 'utf8mb4_unicode_ci',
'strict' => false,
'modes' => [
    //'ONLY_FULL_GROUP_BY',
    'STRICT_TRANS_TABLES',
    'NO_ZERO_IN_DATE',
    'NO_ZERO_DATE',
    //'ERROR_FOR_DIVISION_BY_ZERO',
    'NO_ENGINE_SUBSTITUTION',
],

このうち、mode 配列の項目は MySQL strict です。 mode 一部のオプションでは、対応する厳密モードを false に設定してオフにします。次に、Laravel プロジェクトを再実行すると、デフォルトで 0 に設定されているフィールドが null 値として正しく保存されます。

要約すると、MySQL 構成ファイルを変更する場合でも、Laravel 構成ファイルを変更する場合でも、デフォルトで null 値として 0 を設定する関数を実装できます。 Laravel のようなフレームワークの場合、MySQL の操作はより柔軟で便利である必要があるため、開発者はそのようなスキルを習得する必要があります。

以上がlaravel設定を変更してデフォルトの0をnull値関数として実装する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。