2017-09-28 2 views
0

DateTimePickerから値を入力しようとしていますが、これは私がこのプラットフォームの初心者です。では、どのようにフォーマットを変換してデータベースに保存するのですか?DateTimePickerからデータベースに値を挿入しようとしましたが、無効な日時形式になりました

public function store(Request $request) { 

    $input = Request::all(); 
    $input['dob'] = Carbon::now(); 
    $input['app_date'] = Carbon::now(); 
    patient_user::create($input); 
    return redirect('patient_user'); 
    $dob = Date::createFromFormat('Y-m-d'); 
    $app_date = Date::createFromFormat('Y-m-d'); 
    $dob->setTime(0, 0, 0); 
    $app_date->setTime(0, 0, 0); 
    echo $dob->getTimestamp(); 
    echo $app_date->getTimestamp(); 

     DB::table("patient_users")->insert([ 
      "patient_firstname"=>$request->get("patient_firstname"), 
      "patient_lastname"=>$request->get("patient_lastname"), 
      "middle_name"=>$request->get("middle_name"), 
      "gender"=>$request->get("gender"), 
      "dob"=>(new DateTime($request->get('dobe')))->format('Y-m-d'), 
      "pat_age"=>$request->get("pat_age"), 
      "app_date"=>(new DateTime($request->get('app_date')))->format('Y-m-d'), 
      "app_time"=>(new DateTime($request->get('app_time')))->format('H:i:s'), 
      "branch_location"=>$request->get("branch_location") 
     ]); 
    } 

Migration: 
Schema::create('patient_users', function (Blueprint $table) 
     { 
      //$table->increments('id'); 
      //$table->increments('patient_id'); 
      $table->string('patient_firstname'); 
      $table->string('patient_lastname'); 
      $table->string('middle_name'); 
      $table->boolean('gender'); 
      $table->date('dob'); 
      $table->increments('pat_age'); 
      $table->date('app_date'); 
      $table->dateTimeTz('app_time'); 
      $table->string('branch_location'); 
      $table->timestamps(); 
     } 
+0

PHPはメソッドフォーマットのDateTimeクラスを持っていました。http://php.net/manual/en/class.datetime.php –

+0

ちょうど私が持っているリンクを試してみましたが無効な形式と同じエラーが表示されます。 @Raymond Nijland – Amruta

答えて

0

ここに属していない機能の冒頭にいくつかのコードがありますか?また、リターン後のコードは実行されません。

次のコードを使用して機能を交換し、それがどのように動作するかを教えてください:

public function store(Request $request) { 
    DB::table("patient_users")->insert([ 
     "patient_firstname"=>$request->get("patient_firstname"), 
     "patient_lastname"=>$request->get("patient_lastname"), 
     "middle_name"=>$request->get("middle_name"), 
     "gender"=>$request->get("gender"), 
     "dob"=>(new DateTime($request->get('dobe')))->format('Y-m-d'), 
     "pat_age"=>$request->get("pat_age"), 
     "app_date"=>(new DateTime($request->get('app_date')))->format('Y-m-d'), 
     "app_time"=>(new DateTime($request->get('app_time')))->format('H:i:s'), 
     "branch_location"=>$request->get("branch_location") 
    ]); 
} 
+0

(新しいDateTime($ _ POST ['app_date'])) - >フォーマット( 'Y-m-d')私は同じエラーが発生しているので、コントローラの権利では、まだ。 @Badea Mihai Florin – Amruta

+0

これでデータはデータベースに送られましたが、日付フィールドはデータベースにnullを表示しています。 @Badea Mihai Florin – Amruta

+0

コードを変更した場合は、最初の投稿を更新してください。私も編集します。そして、datepickerが返す日付の形式を教えてください。 –

0

あなたはreturn redirect('patient_user');後のコードが実行されていないことを知っていて、それはあなたのレコードを作成ラインpatient_user::create($input);であることですか?また、あなたはLaravelで直接$ _POSTを使用しないでください、あなたはあなたのモデルに$日付アレイの一部であることを日付フィールドを設定している場合は、するには、UNIXタイムスタンプを割り当てることができます$input配列

から$request->get();または値を使用することができますそれは直接、カーボンはあなたのために残りを処理します。どのようにあなたのpatient_userクラスを見て、あなたのDateTimePickerはUNIXのタイムスタンプを返しますか?

0

Carbon::parse($date)でそれを解析してみてください:

... 

"dob" => Carbon::parse($_POST["dob"])->format('Y-m-d'), 

... 

それは任意の日付フォーマットでなら、parse方法はそれを把握する必要があります。

関連する問題