Skip to content

Sorting results in error when prefix of column is not defined #3237

@tkcsdemos

Description

@tkcsdemos

From version 12.1.1 and after we have encountered an error on sorting on columns without a table prefix. Although the sorting columns are unique between the joined tables the sorting results in error because the prefix is enforced wrongly to the primary table.

Example eloquent query:

$query = Member::select(['members.*', 'qprofiles.id as qprofiles_id', 'qprofiles.active as qprofiles_active', 'qprofiles.date', 'qprofiles.updated_at', 'qprofiles.vision', 'qprofiles.talent', 'qprofiles.competence', 'qprofiles.performance', 'qprofiles.attrition', 'qprofiles.operating', 'qprofiles.profile_role', 'qprofiles.score', 'qprofiles.smart_questions', 'qprofiles.time_in_role', 'qprofiles.reward', 'qprofiles.development_scan', 'qprofiles.organization_design_issue', 'qprofiles.campaign_id', ]) ->with(['department', 'fields']) ->join('departments', 'members.department_id', '=', 'departments.id') ->leftjoin('qprofiles', function ($join) { $join->on('members.id', '=', 'qprofiles.member_id'); $join->on('qprofiles.active', '=', DB::raw('1')); }) ->where('departments.organization_id', Auth::user()->organization_id) ->where('members.active', 1); return DataTables::of($query ) ->addIndexColumn() ->setRowId('id') ...

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions