0

我有以下要求

$latestTrailers =  DB::table('game_trailer')
                        ->join('trailers', 'trailers.id', '=', 'game_trailer.trailer_id')
                        ->join('games', 'games.id', '=', 'game_trailer.game_id')
                        ->join('device', 'device.id', '=', 'games.device_id')
                        ->where('game_trailer.bool', 1)
                        ->orderBy('game_trailer.created_at', 'desc')
                        ->select('name', 'trailer_link', 'device_url', 'game_trailer.created_at')
                        ->limit(3)
                        ->get();

和以下结果

    Collection {#407 ▼
  #items: array:3 [▼
    0 => {#420 ▼
      +"name": "Persona 5"
      +"trailer_link": "cc-ClutaN_I"
      +"device_url": "ps4"
      +"created_at": "2018-02-13 16:32:34"
    }
    1 => {#395 ▼
      +"name": "Persona 5"
      +"trailer_link": "cc-ClutaN_I"
      +"device_url": "ps3"
      +"created_at": "2018-02-13 16:30:36"
    }
    2 => {#427 ▼
      +"name": "Halo 3: ODST"
      +"trailer_link": "Zz6FNKawJBc"
      +"device_url": "microsoft-xbox-360"
      +"created_at": "2018-02-13 16:27:56"
    }
  ]
}

我希望“trailer_link”值是唯一的。因此,如果该列不是唯一的,则使请求选择数据库中的下一个条目。

我尝试了 distinct() 方法,但它不起作用,因为我只想在一个值上使用它。

有没有等价物?或者另一种方式来做到这一点?

4

0 回答 0