2017-09-07 12 views
0

私はモデル、コントローラ、およびデータベースへのエントリを導入するためのフォームを持っています。問題は、ページをリフレッシュしてデータベースの重複エントリを引き起こすことです。Laravelは、ページをリロードするときに重複するエントリ

loan.controller:ローンから

public function store(Request $request) 
    { $id = Auth::id(); 
      $loan=New loan; 
      $loan->cod_user=$id; 
      $loan->nume =$request->name; 
      $loan->data=$request->date; 
      $loan->durata=$request->period; 
      $loan->valoare_rata_luna=$request->month; 
      $loan->valoare_totala=$request->amount; 
      $loan->save(); 

      return view('loans'); 
     } 

フォームを表示:

<div class="container"> 
      <div class="row"> 
        <div class="col-md-4"> 
        <div class="blacktext"><h3>My Loans:</h3></div> 
        </div> 
        <div class="col-md-4"></div> 
        <div class="col-md-2"></div> 
        <div class="col-md-2"><button type="button" class="btn btn-success" data-toggle="modal" data-target="#modal1"> 
        <span class="glyphicon glyphicon-plus-sign"></span> Add Loan</button></div> 

       <div class="modal fade " id="modal1" role="dialog"> 
        <div class="modal-dialog modal-lg"> 
         <div class="modal-content"> 

          <div class="modal-header"> 
           <button class="close" data-dismiss="modal">×</button> 
             <h3>Add Loan</h3> 
          </div> 
          <div class="modal-body text-right"> 

           <form action="{{ route('loan.store') }}" method="POST">  
            <p class="al-left"> 
            {{csrf_field()}} 
            <label for="date">Date:</label> 
            <input type = "date" name="date" placeholder="Date" id="date"> 
            </p> 

            ... 

            <p class="al-left"> 
            <label for="amount">Amount:</label> 
            <input type = "number" name="amount" placeholder="0" id="amount"> 
            </p> 

            <input type="submit" class="btn btn-sm btn-primary" name="submit" value="Add"> 
+1

詳細を保存してからビューを直接返すのではなく、リダイレクトしようとします。 –

答えて

0

return redirect() - back()を使用します。それは確かに動作します。

0

POSTはまだ何を行うことができますが、ストア機能から分離ページを持っている..ですリフレッシュ時に存在します。..のようなこの..

ROUTE

Route::get('/loans', '[email protected]'); 
Route::post('/loans', '[email protected]'); 

LoanController

​​
+0

これは私のために働いた。 – Andrei

1

ジャストルート(ビューを提供していますルート)の代わりに、お店のメソッドの最後のビューにリダイレクト:私はあなたがすべきだと思う

public function store(Request $request) 
    { $id = Auth::id(); 
      $loan=New loan; 
      $loan->cod_user=$id; 
      $loan->nume =$request->name; 
      $loan->data=$request->date; 
      $loan->durata=$request->period; 
      $loan->valoare_rata_luna=$request->month; 
      $loan->valoare_totala=$request->amount; 
      $loan->save(); 

      return redirect(route(('loans')); //asumming that you named a route as loans 
     } 
0

returnの方法を次のように変更してください。

public function store(Request $request) 
    { $id = Auth::id(); 
      $loan=New loan; 
      $loan->cod_user=$id; 
      $loan->nume =$request->name; 
      $loan->data=$request->date; 
      $loan->durata=$request->period; 
      $loan->valoare_rata_luna=$request->month; 
      $loan->valoare_totala=$request->amount; 
      $loan->save(); 

      return redirect()->route('loans'); 
     } 
関連する問題