2017-11-28 10 views
0
//controller method to get random rows  
public function random() { 
    $book= Book::inRandomOrder()->first(); 
    return $book; 
} 

たとえば、私は8行あります。繰り返しなしで毎回ランダムな行を表示したい。私は結果がこのような1,3,2,5,8,7,3,6,5,4のようなものですが、私が望むのは1,3,2,5、 8,7,6,4、...laravelで繰り返しのないランダムな行を表示する方法は?

ありがとうございます。

+0

は、コードの書式を向上させることを推奨します。 –

+0

最初の();を行います。メソッドは1行だけを返しますか?ここで複数の行をどのように取得するのですか? – tan

+0

ただ1つの行を表示したい。そのため私は 'first()'メソッドを使っています。 – steven

答えて

0

これはgroup byを使用することができる唯一のランダムブック

public function random() { 
    $book= Book::inRandomOrder()->distinct()->get(); 
    return $book; 
} 
+0

nop。私はまだ繰り返しの結果を得ています.... – steven

0

を返します。

public function random() { 
      $book= Book::inRandomOrder()-> 
         ->groupBy('any column you want') 
         ->get(); 
      return $book; 
     } 
関連する問題