2017-03-02 27 views
2

私は次の問題があります: 入力フィールドを使用してデータベースに挿入したいと思います。Laravel insert into Database

<div class="row"> 
    <form action="{{ action('[email protected]') }}" method="post"> 
     <input type="hidden" name="_token" value="{{ csrf_token() }}"> 
     <div class="col-md-2 col-sm-2"> 
      <label for="MtrNr">MtrNr:</label> 
      <input type="text" name="MtrNr" class="form-control"> 
     </div> 
     <div class="col-md-2 col-sm-3"> 
      <label for="Vorname">Vorname:</label> 
      <input type="text" name="Vorname" class="form-control"> 
     </div> 

     <div class="col-md-2 col-sm-3"> 
      <label for="Nachname">Nachname:</label> 
      <input type="text" name="Nachname" class="form-control" > 
     </div> 
     <div class="col-md-2 col-sm-2"> 
      <label for="Klassenname">Klassenname:</label> 
      <input type="text" name="Klassenname" class="form-control"> 
     </div> 
     <div class="col-md-2 col-sm-2"> 
      <button class="btn btn-primary option-button button_rowAllign" type="submit">Schüler hinzufügen</button> 
     </div> 
    </form> 
</div> 

マイコントローラ:

public function store(Request $request) 
{ 
    $user = new schueler; 
    $user->MatNr = Input::get("MtrNr"); 
    $user->vorname = Input::get("Vorname"); 
    $user->nachname = Input::get("Nachname"); 
    $user->klassenname = Input::get("Klassenname"); 
    $user->save(); 
} 

そして、ここに私のルート:

Route::post("{{ action('[email protected]') }}", "[email protected]"); 

事は、私はすでに私のデータベースに挿入されていること、である はここに私のhtmlです。しかし、私が を再生しようとすると、うまくいきません。 ローカルサーバーの場合はxamppを使用します。 私があなたを助けてくれることを願っています。

+0

コントローラのストアメソッドで '$ user-> save();'が不足しています。 – Saman

+0

ありがとう、あなたは正しいです、それは が不足していましたが、問題はまだここにあります。 モデルに何かを追加する必要がありますか? – Rechenmeister

+0

Route :: post( "{{アクション( 'test @ store')}}" "、" test @ store ");これはあなたのルートコードですか?コントローラの名前は何ですか? – Muthu17

答えて

0

問題は、新しいschuelerを作成し、それにデータを渡しただけですが、データベースに保存していないということです。あなたはローカル変更のみを行いました。

このメソッドを使用して保存します。

public function store(Request $request) { 
    $user = new schueler; 
    $user->MatNr = Input::get("MtrNr"); 
    $user->vorname = Input::get("Vorname"); 
    $user->nachname = Input::get("Nachname"); 
    $user->klassenname = Input::get("Klassenname"); 
    $user->save(); 
} 

すべての前に、この

Route::post("/test", "[email protected]"); // change /test to /anything you want 

のようなあなたのルートを変更してみてくださいあなたは、データベースのセットアップを持っているとschuelersのような、そのデータベース内のすべてのテーブルがあることを確認します - そのためにあなたの場合はphp artisan migrate

+0

です。ありがとうございます。私はプロジェクトを編集しましたが、問題は解決しません。 – Rechenmeister

+0

@Rechenmeisterそして、あなたが得たエラーや問題は何ですか?私は私の答えを編集しました – Advaith

+0

私は、PHPの職人のサービスなしで、アプリケーションを起動する場合、私はエラーを取得します。ページはリロードされ、データベースにはデータはありません。 php artisan serveでは、エラーが発生します。SQLSTATE [42S02]:基本テーブルまたはビューが見つかりません:テーブル 'datenbank.schuelers'が存在しません。正しいのは、「シュエラーズ」は存在せず、「シュテルーラー」だけが存在する。私はララベルがどこの「シュエラー」になるのか分かりません。 – Rechenmeister

0

を行いますあなたのコントローラに$user->save()を追加したくないレコードをデータベースに挿入したい

public function store(Request $request) 
{ 
    $user = new schueler; 
    $user->MatNr = Input::get("MtrNr"); 
    $user->vorname = Input::get("Vorname"); 
    $user->nachname = Input::get("Nachname"); 
    $user->klassenname = Input::get("Klassenname"); 
    $user->save(); 

} 
+0

私のプロジェクトを編集しましたが、問題は解決しません – Rechenmeister

0

あなたのルートに何か問題があると思います。

Route::post("{{ action('[email protected]') }}", "[email protected]"); 

ルートは以下のようなものでなければなりません:

Route::post("schueler/store", "[email protected]"); 

//これはサンプルコードで、あなたのものに更新してください。