2016-04-08 4 views
1

Здравствуйте, не могли бы вы помочь мне с laravel 5.1 query builder.Laravel 5.1 Query Builder где AND где

Я хочу создать запрос, в котором есть И где.

Я уже прочитал всю документацию, но я мог получить любой ответ.

Это мой запрос:

DB::table('connected_users') 
     ->where('user_id',$user->id) 
     ->where('connected_id',$id) 
     ->update(['status' => '2']); 

Это мой маршрут Код:

Route::post('teacher/{id}/connection/approve','[email protected]'); 

Это мой Laravel контроллер Код:

public function aproveConnection($id){ 

    $user = Auth::user(); 

    DB::table('connected_users') 

     ->where('user_id',$user->id) 
     ->where('connected_id',$id) 
     ->update(['status' => '2']); 

     return Redirect::back(); 
} 

Это моя форма POST:

<form method="POST" action="../teacher/{{ $pend_user->id }}/connection/approve"> 
    {!! csrf_field() !!} 
    <input type="submit" value="Αποδοχή Φίλου"> 
</form> 

ответ

2

Использование нескольких where() является эквивалентом оператора И. Запрос будет проходить только в том случае, если оба предложения where() соответствуют вашим критериям поиска.

+0

Оба они отвечают моим критериям поиска, и я проверил его в 100 раз. Я также попытался отразить значение переменной, чтобы я мог знать, правильно ли это. – arispapapro

+0

попробуйте следующее: '$ connected = DB :: table ('connected_users') -> где ('user_id', $ user-> id) -> где ('connected_id', $ id) -> get();' , а затем обновить каждую из них: 'foreach ($ connected as $ something) { $ something-> update (['status' => 2]); } ' –