2016-05-18 4 views
0

в моем случае, я хочу, чтобы отобразить пользователь и заказы законченных каждого пользователя, заказы имеют статус я получаю $ статуса от формы входного сигнала вот мой кодНеопределенных переменные внутри Laravel осталась присоединиться

$orders = DB::table('user_profiles') 
     ->leftJoin('orders', function($join){ 
      $join->on('user_profiles.id','=','orders.id_user') 
       ->where('orders.status','=',$status); 
     }) 
     ->selectRaw('user_profiles.*, count(orders.id_user) as order_try_count') 
     ->groupBy('user_profiles.id') 
     ->orderBy('order_try_count',$order) 
     ->paginate(15); 

, но я ? получить неопределенное переменное состояние, что я должен сделать, чтобы решить эту проблему, спасибо

ответ

2

Yoo необходимо передать переменные в замыкание с помощью use строительства следующего образа:

->leftJoin('orders', function($join) use ($status) { 

вместо

->leftJoin('orders', function($join) { 

Ссылка: anonymous functions

+0

Очень приятно, спасибо :) – Zezen

0

Вы должны использовать use() метод переменной пользователя в закрытии

Попробуйте

->leftJoin('orders', function($join) use($status){ 
     $join->on('user_profiles.id','=','orders.id_user') 
      ->where('orders.status','=',$status); 
}) 
+0

Да , спасибо Шалу :) – Zezen