count() == 0) { $group = new ClientsGroup([ 'code' => '0', 'name' => 'Без группы', ]); $group->save(); } $countPerPage = 25; $offset = ($input['page'] - 1) * $countPerPage; if ($input['group_id'] == 0) { $group = ClientsGroup::where('code', '=', $input['group_id'])->first(); } else { $group = ClientsGroup::where('id', '=', $input['group_id'])->first(); } $clients = Client::where('group_id', '=', $group['code'])->skip($offset)->take($countPerPage)->get(); $total = Client::where('group_id', '=', $group['code'])->count(); if ($total == NULL) { return [ 'status' => 'success', 'clients' => array(), 'total' => 0, 'size' => $countPerPage, 'pages' => 1, 'currentGroup' => $group['id'], ]; } else { foreach ($clients as $client) { $phone = Client::getPhone($client['user_code']); $email = Client::getEmail($client['user_code']); $address = Client::getAddress($client['user_code']); $barcode = Client::getBarcode($client['user_code']); if ($client['is_special_price'] == 0) { $special_price = false; } else { $special_price = true; } if ($client['is_employee'] == 0) { $employee = false; } else { $employee = true; } if ($client['is_block'] == 0) { $is_block = false; } else { $is_block = true; } $out[] = array( 'id' => $client['id'], 'name' => $client['name'], 'phone' => $phone, 'email' => $email, 'address' => $address, 'barcode' => $barcode, 'special_price' => $special_price, 'employee' => $employee, 'is_block' => $is_block, ); } return [ 'status' => 'success', 'clients' => $out, 'total' => $total, 'size' => $countPerPage, 'pages' => ceil($total / $countPerPage), 'currentGroup' => $group['id'], ]; } } }