Mysql
 sql >> Database >  >> RDS >> Mysql

Laravel:l'unione di query di nidificazione risulta in un sottoarray

Non pensare che sia fattibile fuori dagli schemi senza Eloquent.

Puoi seguire il percorso primitivo:

$results = DB:table('posts')
    ->leftJoin('comments', 'posts.id', '=', 'comments.post_id')
    ->select('posts.*', 'comments.*', 'comments.id as comments_id')
    ->get(); 

foreach($results as &$result) 
{ 
    $result['comment'] = [
        'id' => $result['comment_id'], 
        'comment' => $result['comment'], 
        'comment_author' => $result['comment_author']
    ]; 
    unset($result['comment_author'], $result['comment_id']);
}