Пример #1
0
 /**
  * Get all plans in which an admin was assigned
  *
  * @param $sortBy
  * @param $order
  * @param null $from
  * @return array
  */
 public function getAllAssigned($userId, $sortBy, $order, $from = null)
 {
     $query = $this->basePlansUsersQuery();
     $query->join('testers AS t', 'p.id', '=', 't.plan_id')->leftJoin('tickets_responses AS tr', function ($join) use($userId) {
         $join->on('p.id', '=', 'tr.plan_id')->where('tr.tester_id', '=', $userId);
     })->select('p.*', 'u.first_name', 'u.last_name', 't.browsers')->where('t.user_id', '=', $userId)->orderBy($sortBy, $order)->groupBy('p.id');
     if ($from == 'dashboard') {
         $query = $query->take(config('testplanner.tables.pagination.dashboard'))->get();
     } else {
         $query = $query->paginate(config('testplanner.tables.pagination.lists'));
     }
     // Prepare columns to be shown
     $table = $this->tablesApi->prepare('order', ['description', 'first_name', 'last_name', 'created_at', 'updated_at', 'respond'], 'PlansController@index');
     $results = ['plans' => $query, 'columns' => $table['columns'], 'columnsLink' => $table['columns_link']];
     return $results;
 }