这是我的查询

DB::table('genres')
        ->join('albumGenres', 'genres.id', '=', 'albumGenres.genre_id')
        ->join('albums', 'albumGenres.album_id', '=', 'albums.id' )
        ->select('genres.id')
        ->where('albumGenres.album_id','=',$this->id)->get();

但是我得到这样的东西
"genre_id": [
        {
            "id": "4"
        },
        {
            "id": "8"
        }
    ]

我应该怎么做才能得到结果只是一个数组
"genre_id" : [4,8]

最佳答案

只需使用->lists('id')而不是->get():

DB::table('genres')
    ->join('albumGenres', 'genres.id', '=', 'albumGenres.genre_id')
    ->join('albums', 'albumGenres.album_id', '=', 'albums.id' )
    ->where('albumGenres.album_id', '=', $this->id)
    ->lists('genres.id');

阅读更多:http://laravel.com/docs/5.0/queries#selects(“检索列值列表”部分)

08-19 08:54