您可以使用
inRandomOrder()
以随机顺序获得 Products
:
$products = Product::inRandomOrder()->take(10)->get();
以上将为您提供 10 个随机
products
,您可以从那里将它们传递到您的视图或任何您需要使用随机产品的地方。例如:
public function index()
{
$products = Product::inRandomOrder()->take(10)->get();
return view('products.index', compact('products'));
}
然后在您的
products.view
刀片文件中,您可以像往常一样循环浏览产品:
@foreach ($products as $product)
<p>{{ $product->name }}</p>
@endforeach
根据您的评论如下:
$latests = Product::where('status','1')->orderBy('id','desc')->take(8)->get();
如果您真正想要的是
10
最新记录,但按随机顺序,请使用 Laravel 集合上提供的 shuffle
方法:
$latests = Product::where('status', '1')
->orderBy('id', 'desc')
->take(10)
->get()
->shuffle();
在您的控制器中使用 RAND
$products = Product::orderByRaw('RAND()')->take(10)->get();
return view('your.view page', compact('products'));
在视图页面中循环通过@foreach
@foreach ($products as $product)
<p> {!! $product->image!!} </p>
<p> {!! $product->name !!} </p>
//more code here
@endforeach