Smart Segments
How to migrate
Structure
Performance
Example
<?php
namespace App\Models;
use ForestAdmin\LaravelForestAdmin\Services\Concerns\ForestCollection;
use ForestAdmin\LaravelForestAdmin\Services\SmartFeatures\SmartSegment;
use Illuminate\Database\Eloquent\Builder;
use Illuminate\Database\Eloquent\Factories\HasFactory;
use Illuminate\Database\Eloquent\Model;
class Product extends Model
{
use HasFactory
use ForestCollection;
/**
* @return SmartSegment
*/
public function bestSellers(): SmartSegment
{
return $this->smartSegment(
fn(Builder $query) => $query->whereIn('products.id', function($q) {
$q->select('products.id')
->from('products')
->join('order_product', 'order_product.product_id', '=', 'products.id')
->groupBy('products.id')
->orderByRaw('COUNT(order_product.order_id) DESC')
->limit(10);
}),
'Best sellers'
);
}Last updated