SQLSTATE [42S22]: Столбец не найден: в атрибуте laravel, используя условие has? - PullRequest
0 голосов
/ 17 февраля 2019

Я работаю над проектом laravel, но сначала он был создан в основном php.Я застрял в одном запросе, который работает нормально в SQL-запросе, но когда я преобразовываю в laravel, он показывает ошибку ... Sql-запрос ниже: -

SELECT *,MAX(UNIX_TIMESTAMP( if(last_recur_date IS NULL, 
subscription_date,last_recur_date) )) as max, SUM( IF (active = 'y', 1, 0) ) AS 
acount, m.id AS member_id FROM members m INNER JOIN user_access_old ua ON m.id 
= ua.member_id GROUP BY m.id having acount=0 ORDER BY max DESC, m.id DESC, 
username ASC, ua.note DESC

Но когда я пытаюсь использовать ниже запрос laravel, егоотображаемая ошибка: -

$members = Member::query();
$members = $members->join('user_access','user_access.member_id', '=', 'members.id')->select('members.id','members.first_name',
                          'members.surname','members.fullname','members.member_date','members.username','members.password',
                          'members.email','user_access.active','user_access.special_access','user_access.note',
                          DB::raw('SUM( IF (active = "y", 1, 0) ) AS acount'))
                    ->groupby('members.id')
                    ->having('acount',0)
                    ->orderby('max','desc')
                    ->orderby('members.id','desc')
                    ->orderby('members.username','ASC')
                    ->orderby('user_access.note','DESC')
                    ->paginate(60);  // when i replaced to get its working fine but i want to paginate the data

Показывается ниже: - SQLSTATE [42S22]: столбец не найден: 1054 Неизвестный столбец «acount» в «имеющем предложении» (SQL: выбрать количество (*) как совокупность изmembers внутреннее соединение user_access на user_access. member_id = members. id сгруппировано по members. id, имеющее having acount = 0)

...