Laravel 如何在mysql中显示products表中的随机产品

Laravel 如何在mysql中显示products表中的随机产品,laravel,laravel-blade,Laravel,Laravel Blade,如何在我的laravel estore上随机显示产品。 我希望代码选择10个随机产品,最好使用foreach显示 趋势产品 @foreach($最新产品) {{csrf_field()}} @if(会话::has('uniqueid')) @否则 @恩迪夫 {{substr(str_replace('','',strip_标签($product->description)),0600)} {{$product->price} @如果($product->rocketdelivery=='

如何在我的laravel estore上随机显示产品。

我希望代码选择10个随机产品,最好使用foreach显示


趋势产品
@foreach($最新产品)
{{csrf_field()}}
@if(会话::has('uniqueid'))
@否则
@恩迪夫
{{substr(str_replace('','',strip_标签($product->description)),0600)}

  • {{$product->price}
  • @如果($product->rocketdelivery=='yes')
  • @否则
  • @恩迪夫
@如果($product->bylocal=='yes') @恩迪夫 {{csrf_field()}} @if(会话::has('uniqueid')) @否则 @恩迪夫 @如果($product->stock!=0 | |$product->stock==null) {{$language->add_to_cart} @否则 {{$language->缺货} @恩迪夫 @endforeach

这就是我的开发人员显示的方式,但效率不高。那么,当我接管项目时,我如何展示产品呢。我试过很多方法,但都不管用。我对laravel还是新手

您可以使用随机顺序中的
来获取
产品

$products = Product::inRandomOrder()->take(10)->get();
上面将为您获得10个随机
产品
,从那里您可以将它们传递到您的视图或需要使用随机产品的任何位置。例如:

public function index()
{
    $products = Product::inRandomOrder()->take(10)->get();
    return view('products.index', compact('products'));
}
然后,在您的
products.view
blade文件中,您可以像往常一样循环浏览产品:

@foreach ($products as $product)
    <p>{{ $product->name }}</p>
@endforeach
如果您真正想要的是
10
最近的记录,但顺序是随机的,请使用Laravel collections上提供的方法:

$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
@foreach($products作为$product)
{!!$product->image!!}

{!!$product->name!!}

//这里有更多代码 @endforeach
您的问题出在哪里?你的控制器代码在哪里?好的,谢谢你,所以我没有把它添加到我发送的代码中?那么公共函数我把它添加到我源代码的哪一部分下面code@JimuCollins添加
$products=Product::inRandomOrder()->take(10)->get()到您的函数,该函数依次显示您的趋势产品视图。我在查找源代码中开发人员定义其函数的部分时遇到问题。我如何找到他们你搜索或询问其他开发人员。
web.php
route文件通常是一个很好的起点,然后遵循路径。在这方面我帮不了你。
$products = Product::orderByRaw('RAND()')->take(10)->get();

 return view('your.view page', compact('products'));
@foreach ($products as $product)
    <p> {!! $product->image!!} </p>
    <p> {!! $product->name !!} </p>
//more code here
@endforeach