2017-01-31 2 views
0

Я хочу, чтобы сделать запрос к базе данных с красноречивым (Laravel 4,2) .. У меня есть проблема с функцией GROUP_CONCAT SQL:Ошибка с GROUP_CONCAT в запросе Elequent

$articles = Article::join('tags', function ($join) { 
      $join->on('articles.id', '=', 'tags.article_id'); 
     })->get(array('articles.*', 'GROUP_CONCAT(tags.tag_id SEPARATOR ', ') as tags')); 

я получил эту ошибку SQL:

SQLSTATE[42S22]: Column not found: 1054 Unknown column 'GROUP_CONCAT(tags.tag_id SEPARATOR ' in 'field list' (SQL: select `articles`.*, `GROUP_CONCAT(tags`.`tag_id SEPARATOR `, `)` as `tags` from `articles` inner join `tags` on `articles`.`id` = `tags`.`article_id` 

ответ

0

Вам нужен raw expression:

$articles = DB::table('articles') 
       ->select(DB::raw('articles.*', 'GROUP_CONCAT(tags.tag_id SEPARATOR ', ') as tags')) 
       ->join('tags', function ($join) { 
        $join->on('articles.id', '=', 'tags.article_id'); 
       })->get(); 
+0

не работает :(она не возвращает теги в результатах – AiD

Смежные вопросы