2016-06-21 6 views
0

私はテーブルの例を持つフォームを持っていますLaravel Input :: all()は1行だけを取得します

名前|レビュー|評価|ドロップダウンフィールド

ある状況

このテーブルには、複数の行を有することができ、専用ステータスが編集可能である私は、すべてのデータを表示することができています、しかし、私は以下のコードを使用して保存するとき、私はddは一つだけを示していることに気付きます行。保存すると、1つの行が保存され、エラーが表示されます。 エラー:行番号432がある

ErrorException in DashBoardController.php line 432: Creating default object from empty value

:以下$approved_reviews->approved= $status1

は私のコードスニペットです。助けてください。

$approve_reviews = Input::except('_token');   

foreach ($approve_reviews as $review_id) { 
    $approved_reviews = dealer_reviews::where('id',$review_id)->first(); 
    $status1 = Input::get('status'); 
    $approved_reviews->approved= $status1; 

    $approved_reviews->save(); 
} 

IはまたInput::all()を試みたが、DDはただ一つの列を示しています。エラーが$approved_reviewsが、その時点で対象ではないことを意味することに

マイフォームコード

@if(isset($pending_reviews)) 
     {!! Form::open(array('action' => array('[email protected]'), 'class'=>'form','files' => true,'data-toggle' => 'validator' ,'id'=>'edit_form')) !!} 
     <div class="table-responsive"> 
     <table class="table table-hover table-condensed table-bordered"> 
      <thead> 
      <tr class="danger"> 
       <td> 
       <p style="font-weight:500;font-size:1.0em;"> Dealership Name </p> 
       </td> 
       <td> 
       <p style="font-weight:500;"> Review </p> 
       </td> 
       <td> 
       <p style="font-weight:500;"> Rating</p> 
       </td> 
       <td> 
       <p style="font-weight:500;"> Suggestion</p> 
       </td> 
       <td> 
       <p style="font-weight:500;"> Status </p> 
       </td> 
      <tr> 

      </thead> 

        @foreach($pending_reviews as $p_review) 
      <tr class="active"> 
       <td> 
       <p style="font-weight:500;font-size:1.0em;"> {{$p_review-> dealership_name}} </p> 
       <input type="hidden" value={{$p_review-> id}} name="review_id"> 

       </td> 
       <td> 
       <p style="font-weight:500;font-size:1.0em;"> {{$p_review-> review}} </p> 
       </td> 
       <td> 
       <p style="font-weight:500;font-size:1.0em;"> {{$p_review-> rating}} </p> 
       </td> 
       <td> 
       <p style="font-weight:500;font-size:1.0em;"> {{$p_review-> suggestions}} </p> 
       </td> 
       <td> 
       <p style="font-weight:500;font-size:1.0em;"> 
       <select name="status"> 
      <option value="0">Pending</option> 
      <option value="1">Approve</option> 

     </select> 
       </p> 
       </td> 

      <tr> 
       @endforeach 

     </table> 
     </div> 

     <input type='submit' class="btn btn-success" name='Save' value='Submit' /> 
     {!! Form::close() !!} 
     @else 
     <h3> No Pending Reviews </h3> 
     @endif 
+1

シェアHTMLコードしてください。 –

+1

フォームコードを共有してください –

+0

問題は解決しませんが、 'dealer_reviews :: where(' id '、$ review_id) - > first();は 'dealer_reviews :: find($ review_id);となります – MECU

答えて

2

注あなたはすべての入力に同じ名前を与えられています。 この行を変更する必要があります。

<input type="hidden" value={{$p_review-> id}} name="review_id"> 

idに名前を連結します。あなたのforeachループ内 は、IDを高め、「review_id」と一緒に名前 に割り当てます。

<input type="hidden" value={{$p_review-> id}} name="review_id_{{$i}}"> 

foreach ($approve_reviews as $review_id) { 
    $new_id = explode("_ ",$review_id); 
    $approved_reviews =dealer_reviews::where('id',$new_id[0])->first(); 
    $status1 = Input::get('status'); 
    $approved_reviews->approved= $status1; 

    $approved_reviews->save(); 
} 
+0

入力していただきありがとうございます、今はすべての行をフェッチしています。この場合、where節に何を入れますか?$ approve_reviews = Input :: all(); foreach($ approve_reviews as $ reviews){ $ reviews_approved = dealer_reviews :: where( 'id'、???) - > first(); $ status1 = Input :: get( 'status');$ reviews_approved-> approved = $ status1; $ reviews_approved-> save(); \t} –

+0

入力はありますか? Please –

+0

これで、あなたが連結したreview_idとidをアンダースコアで入力しています。foreachループ内で$ review_idを分割する必要があります。 $ new_id = explode( "_"、$ review_id)。where句で$ review_idの代わりに$ new_id [0]を使用してください – IshaS

0

。あなたのケースでは、それは何のレコードは、この行がない、すべての入力を示唆しているので思わ$review_idに一致するID、で見つからなかったことを意味しますIDです:あなたは、おそらくビットの周りにあなたのロジックをシフトする必要が

$status1 = Input::get('status'); 

が、私はあなたの入力のサンプルを見ることなく、それ以上の詳細を提供することはできません。

+0

私は自分のフォームコードを追加しました。私がここで間違っていることを提案してください –

関連する問題