$assignment = assignment::find(Crypt::decrypt($id));
$assignment_details = $assignment->raw_plan()->groupBy('flag')->get();
Je veux suivre le résultat de cette requête dans laravel
SELECT GROUP_CONCAT(name) AS 'names' FROM `raw_plans` where `assignment_id` = 1 GROUP BY`flag`
Veuillez me suggérer comment utiliser GROUP_CONCAT dans laravel
Vous pouvez utiliser des relations en tant que générateur de requêtes pour récupérer les résultats comme suit:
$assignment_details = $assignment->raw_plan()
->select(DB::raw('group_concat(name) as names'))
->where('assignment_id', 1)
->groupBy('flag')
->get();
Mise à jour
Utilisation table_name.*
in select pour obtenir tous les champs.
$assignment_details = $assignment->raw_plan()
->select('raw_plans.*', DB::raw('group_concat(name) as names'))
->where('assignment_id', 1)
->groupBy('flag')
->get();
shoieb a quelque peu raison, mais vous devez donner le nom de la table avant d'accéder aux noms des colonnes dans DB:raw()
Vous devriez essayer ceci:
$data = DB::table('raw_plans')
->select(DB::raw("group_concat(raw_plans.name)"))
->groupBy('flag')
->where('assignement_id',1)
->get();
J'espère que cela t'aides.
Essayez avec le code ci-dessous
$data = DB::table('raw_plans')
->select(DB::raw("GROUP_CONCAT(name SEPARATOR '-') as `names`"))
->groupBy('flag')
->where('assignement_id',1)
->get();
Essaye ça
$sql = "SELECT GROUP_CONCAT(name) AS 'names' FROM `raw_plans` where `assignment_id` = 1 GROUP BY`flag`";
$info = DB::select(DB::raw($sql));