PHP code example of ismailnakkar / laravel-listing

1. Go to this page and download the library: Download ismailnakkar/laravel-listing library. Choose the download type require.

2. Extract the ZIP file and open the index.php.

3. Add this code to the index.php.
    
        
<?php
require_once('vendor/autoload.php');

/* Start to develop here. Best regards https://php-download.com/ */

    

ismailnakkar / laravel-listing example snippets


use App\Enums\OrderStatus;
use App\Models\Order;
use Illuminate\Http\Request;
use Listing\Listing;

final class OrderController
{
    public function index(Request $request)
    {
        $orders = Order::query()
            ->join('customers', 'customers.id', '=', 'orders.customer_id')
            ->select('orders.*', 'customers.name as customer_name');

        $listing = Listing::for($orders, $request)
            ->enum('status', OrderStatus::class)
            ->flag('paid')
            ->search('q', ['orders.reference', 'customers.email'])
            ->date('from', 'orders.created_at', '>=')
            ->date('to', 'orders.created_at', '<=')
            ->sorts('reference', 'total', 'created_at', customer: 'customer_name')
            ->defaultSort('-created_at');

        return view('orders.index', ['orders' => $listing->paginate(), 'listing' => $listing]);
    }
}

->date('from', 'orders.created_at', '>=')
->date('to', 'orders.created_at', '<=')

$listing = Listing::for($team->members(), $request)->text('role', 'team_user.role')->sorts('name');

use Illuminate\Database\Eloquent\Builder;

->int('team', fn (Builder $query, int $team) => $query->whereHas('teams', fn (Builder $q) => $q->whereKey($team)))

final class OrderController
{
    public function index(Request $request)
    {
        $listing = self::listing($request);

        return view('orders.index', ['orders' => $listing->paginate(), 'listing' => $listing]);
    }

    public function export(Request $request)
    {
        return OrdersExport::of(self::listing($request)->apply()->lazy());
    }

    /** @return Listing<Order> */
    private static function listing(Request $request): Listing
    {
        return Listing::for(Order::query(), $request)->enum('status', OrderStatus::class)->sorts('total');
    }
}