2017-09-19 2 views
0

J'ai une table users où j'ai un column nommé rank_id. Maintenant, je veux mettre à jour tous les utilisateurs rank_id en 2rank_id = 6 à la fois (cliquez sur un bouton). Comment puis je faire ça? Je l'ai essayé jusqu'à présent:Comment mettre à jour des données de colonne spécifiques à la fois par Laravel 5.2?

Routes:

Route::post('/test/rankup2', array('as' => 'user.rank2.post', 'uses' => '[email protected]')); 

TestController.php:

function RankUpgradeTwo(Request $request) 
{ 
    $memberAll = User::where('rank_id','=',6)->firstOrFail(); 
    //dd($memberAll); 

    $memberAll->rank_id = '2'; 

    $memberAll->save(); 
    return Redirect::to('user/test')->with('message', 'Successfully Ugraded into Rank 2'); 

} 

testScript.blade.php:

<form method="POST" 
     action="{{ route('user.rank2.post') }}" 
     class="form-horizontal stdform" 
     autocomplete="off" 
     enctype="multipart/form-data" 
     id="edit-form" 
     role="form" 
     {{--v-on:submit="submitChange" --}} 
     novalidate /> 
    {{ csrf_field() }} 


<div class="control-group action"> 


    <button type="submit" name="submit" value="submit" id="submit" class="btn btn-blue btn-left"> 
     Rank Up 2 
    </button>  

</div> 

{{ Form::close() }} 

Ceci me montre le message réussi mais je ne vois aucune mise à jour dans la base de données. Merci d'avance.

Répondre

1

Vous pouvez Eloquent Update

User::where('rank_id','=',6)->update(['rank_id' => 2]); 

OU

Depuis firstOrFail va juste récupérer les premier enregistrement de la db afin que vous ne serez pas en mesure de mettre à jour tous les dossiers, mais il y a un autre travail autour pour cet ex

+0

Parfait! ... Merci beaucoup. –

+0

@ChoncholMahmud Va et accepte! –