Я получил ошибку в SQL при попытке присоединиться и сгруппировать идентификатор с помощью Laravel.
Столбец 'push_notifications.title' недопустим в списке выбора, поскольку он не содержится ни в агрегатной функции, ни в предложении GROUP BY
Я пытался использовать Макс и Мин, но все еще получала ошибку.
Вот мой код:
$data = $this->model->select( 'push_notifications.id', 'push_notifications.title', 'push_notifications.description', 'push_notifications.attachment', 'push_notifications.feature_id', 'push_notifications.target_id', 'features.title as feature', 'push_notifications.end_at')
->join('push_notification_users', 'push_notification_users.push_notification_id', '=', 'push_notifications.id')
->join('push_notification_roles', 'push_notification_roles.push_notification_id', '=', 'push_notifications.id')
->leftJoin('features', 'features.id', '=', 'push_notifications.feature_id')
->where( 'push_notifications.notif_target', 'homepage' )
->where(function($role) {
$roles = RoleUser::where('user_id',$this->user->id)->first();
$role->where( 'push_notification_roles.deleted_at', null )
->where( 'push_notification_roles.role_id', $roles->role_id );
})
->orWhere(function($user) {
$user->where( 'push_notification_users.deleted_at', null )
->where( 'push_notification_users.user_id', $this->user->id );
})
->where( 'push_notifications.end_at', '>', Carbon::now()->toDateTimeString() )
->groupBy( 'push_notifications.id' )
->get();
Если у вас есть какое-либо решение, просто скажите Мне, я буду очень признателен. Спасибо