Форумы портала PHP.SU » » Вопросы новичков » Laravel Eloquent

Страниц (1): [1]
 

1. Feonix89 - 03 Июля, 2018 - 12:07:07 - перейти к сообщению
Здравствуйте! Проблема такая - имеется такой запрос:

PHP:
скопировать код в буфер обмена
  1. public static function getList()
  2.     {
  3.         return DB::connection('sqlsrv_system_center')
  4. ->table('v_R_SYSTEM')
  5. ->join('v_GS_COMPUTER_SYSTEM', 'v_GS_COMPUTER_SYSTEM.ResourceID', '=', 'v_R_SYSTEM.ResourceID')
  6. ->join('v_GS_NETWORK_ADAPTER_CONFIGUR', function ($join) {
  7.     $join->on('v_GS_NETWORK_ADAPTER_CONFIGUR.ResourceID', '=', 'v_R_SYSTEM.ResourceID')
  8. ->where('v_GS_NETWORK_ADAPTER_CONFIGUR.IPAddress0', 'like', '10.233.33.%')
  9. ->orWhere('v_GS_NETWORK_ADAPTER_CONFIGUR.IPAddress0', 'like', '10.233.62.%')
  10. ->orWhere('v_GS_NETWORK_ADAPTER_CONFIGUR.IPAddress0', 'like', '10.233.34.%')
  11. ->orWhere('v_GS_NETWORK_ADAPTER_CONFIGUR.IPAddress0', 'like', '10.233.5.%')
  12. ->orWhere('v_GS_NETWORK_ADAPTER_CONFIGUR.IPAddress0', 'like', '10.233.70.%')
  13. ->orWhere('v_GS_NETWORK_ADAPTER_CONFIGUR.IPAddress0', 'like', '10.233.134.%')
  14. ->orWhere('v_GS_NETWORK_ADAPTER_CONFIGUR.IPAddress0', 'like', '10.233.139.%');
  15. })
  16. ->join('v_GS_OPERATING_SYSTEM', 'v_GS_OPERATING_SYSTEM.ResourceID', '=', 'v_R_SYSTEM.ResourceID')
  17. ->join('v_GS_WORKSTATION_STATUS', 'v_GS_WORKSTATION_STATUS.ResourceID', '=', 'v_R_SYSTEM.ResourceID')
  18. ->join('v_GS_ADD_REMOVE_PROGRAMS', function($join){
  19.    $join->on('v_R_SYSTEM.ResourceID', '=', 'v_GS_ADD_REMOVE_PROGRAMS.ResourceID')
  20.      ->where('v_GS_ADD_REMOVE_PROGRAMS.DisplayName0', 'not like', 'Пакет исправлений%')
  21.       ->where('v_GS_ADD_REMOVE_PROGRAMS.DisplayName0', 'not like', 'Windows XP Hotfix%')
  22.       ->where('v_GS_ADD_REMOVE_PROGRAMS.DisplayName0', 'not like', 'Security Update%')
  23.       ->where('v_GS_ADD_REMOVE_PROGRAMS.DisplayName0', 'not like', 'Update for Windows%')
  24.       ->where('v_GS_ADD_REMOVE_PROGRAMS.DisplayName0', 'not like', 'Исправление для Windows%')
  25.       ->where('v_GS_ADD_REMOVE_PROGRAMS.DisplayName0', 'not like', 'Обновление безопасности%')
  26.       ->where('v_GS_ADD_REMOVE_PROGRAMS.DisplayName0', 'not like', 'Пакет исправлений для Windows%')
  27.       ->where('v_GS_ADD_REMOVE_PROGRAMS.DisplayName0', 'not like', 'Hotfix for Windows%')
  28.       ->where('v_GS_ADD_REMOVE_PROGRAMS.DisplayName0', 'not like', 'Windows Installer%')
  29.       ->where('v_GS_ADD_REMOVE_PROGRAMS.DisplayName0', 'not like', 'Обновление для Windows%')
  30.       ->where('v_GS_ADD_REMOVE_PROGRAMS.DisplayName0', 'not like', 'Исправление для проигрывателя%')
  31.       ->where('v_GS_ADD_REMOVE_PROGRAMS.DisplayName0', 'not like', 'MSXML%');
  32. })->select('v_GS_ADD_REMOVE_PROGRAMS.DisplayName0','v_GS_ADD_REMOVE_PROGRAMS.Publisher0', 'v_GS_ADD_REMOVE_PROGRAMS.ProdID0')
  33. ->addSelect(DB::raw("COUNT('*') as total"))            ->groupBy('v_GS_ADD_REMOVE_PROGRAMS.DisplayName0','v_GS_ADD_REMOVE_PROGRAMS.Publisher0', 'v_GS_ADD_REMOVE_PROGRAMS.ProdID0')
  34.             ->get();
  35.     }


Без строки ->addSelect(DB::raw("COUNT('*') as total")) запрос работает хорошо, но нужно добавить количество записей. Если добавляю таким образом получаю неверные данные.
Подскажите как правильно можно добавить колонку с количеством к запросу? Заранее благодарен!
Использую Laravel 5.4 php 5.6.4 mssql 2012

 

Powered by ExBB FM 1.0 RC1