ホームページ  >  記事  >  バックエンド開発  >  Laravel 5.1フォーム送信データ(配列を含む)データベース挿入エラーの解決策

Laravel 5.1フォーム送信データ(配列を含む)データベース挿入エラーの解決策

WBOY
WBOYオリジナル
2016-07-23 08:54:431332ブラウズ

カスタマーサービスのQQ情報を追加するなど、フォームで配列をデータベースに送信する必要がある場合、Laravelは入力フィールドを配列にできないというエラーをスローしますが、解決策も非常に簡単です。

複数の QQ カスタマー サービスを追加するには、配列の使用が必要です

Laravel 5.1フォーム送信データ(配列を含む)データベース挿入エラーの解決策

エラーがスローされました

  1. helpers.php 行 671 の ErrorException: preg_replace(): パラメーターが一致しません。パターンは文字列ですが、置換は配列です
コードをコピーします

解決策:

モデル内で、送信する必要があるフィールドを「ブロック」し、入力のみを使用してそれらをコントローラーで受信してシリアル化し、保存します。

モデルの例:

  1. class Shop extends Model
  2. {
  3. public $timestamps=false;
  4. protected $guarded = ['qq','submit'];
  5. }
コードをコピー

コントローラーの例

  1. パブリック関数store(CheckNameRequest $request)
  2. {
  3. $shop = Shop::create(Input::get());
  4. $shop->qq = Serialize(Input::get('qq' ) );
  5. $shop->save();
  6. }
コードをコピー

同様に、表示するときにデシリアライズするだけです。

元のアドレス: http://note.mango.im/article/24

解決策、Laravel


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