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()メソッドを試しましたが、1つの値でのみ使用したいので機能しません。

同等のものはありますか?またはそれを行う別の方法は?

4

0 に答える 0