J'utilise la requête dans le contrôleur:

$data = DB::table('circulate_files')
           ->join('regionmasters','circulate_files.region_id','=','regionmasters.id')
           ->select('circulate_files.unique_id_for_group,circulate_files.title','regionmasters.region', DB::raw('group_concat(region) as new_region'))
           ->groupBy('unique_id_for_group')
           ->get();

Mais je reçois une erreur:

Illuminate \ Database \ QueryException SQLSTATE [42S22]: Colonne introuvable: 1054 Colonne inconnue 'circulate_files.unique_id_for_group, circulate_files.title' dans 'field list' (SQL: select circulate_files. unique_id_for_group,circulate_files. title, {{ X3}}. region, group_concat (region) as new_region from circulate_files inner join regionmasters on circulate_files. region_id = regionmasters. {{ X10}} grouper par unique_id_for_group)

0
vinod kumar 2 nov. 2020 à 12:07

2 réponses

Meilleure réponse

Je pense que le problème dans votre sélection, il devrait être:

select(['circulate_files.unique_id_for_group','circulate_files.title','regionmasters.region', DB::raw('group_concat(region) as new_region')])

Le problème était dans ce code:

->select('circulate_files.unique_id_for_group,circulate_files.title', ...)

Ça devrait être:

->select('circulate_files.unique_id_for_group','circulate_files.title',...)
1
OMR 2 nov. 2020 à 09:17

vous pouvez réécrire votre requête comme suit et utiliser selectRaw au lieu de select:

$data = DB::table('circulate_files')
           ->selectRaw('
               circulate_files.unique_id_for_group, circulate_files.title, 
               regionmasters.region, group_concat(region) as new_region
            ')
           ->join('regionmasters', 'circulate_files.region_id', 'regionmasters.id')
           ->groupBy('unique_id_for_group')
           ->get();
0
Mustafa Poya 3 nov. 2020 à 09:00