Be part of JetBrains PHPverse 2026 on June 9 – a free online event bringing PHP devs worldwide together.

pasha256's avatar

I want to add an 'order by'(asc,desc) buttons to my product view page

This is me product.php model

class Product extends Model { public static function getProducts($curl, &$viewData)

{

    $products = DB::table('products as p') 
        ->join('categories as c', 'c.id', '=', 'p.categorie_id') 
        ->select('p.*', 'c.ctitle', 'c.curl')
        ->where('c.curl', '=', $curl)
        ->paginate(4);

    

    if ($products->count() == 0) { 

        abort(404);
    } 
    $viewData['products'] = $products; 
    $viewData['page_title'] .= $products[0]->ctitle; 

}

}

This is my controller.php

class ShopController extends MainController {

public function products($curl)
{ 
    Product::getProducts($curl, self::$viewData); 
    return view('products', self::$viewData); 

}

}

This is my route web.php

Route::prefix('shop')->group(function () {

Route::get('{curl}', 'ShopController@products'); 

});

0 likes
2 replies
Wraith's avatar

:) why u keep code in model class xD and what is this $viewData['page_title'] .= $products[0]->ctitle;

Please or to participate in this conversation.