2017-07-18 11 views
0

低価格から高価格へ、低価格から高価格への注文で を注文したいと思っていますが、「低〜高」または「高〜低」をクリックすると注文変更されていません、それは同じページにとどまりますが、URLは変化しています。laravelの価格で製品を注文するには

これはコントローラ内の関数である:

public function products(Request $request, $category_url, $sort= 'ASC') 
{ 
    Product::getProducts($category_url, self:: $data); 

    if ($category1 = Categorie::where('url', '=', $category_url)->first()) { 

     $products = Product::where('categorie_id', $category1->getAttribute('id'))->orderBy('price', $sort)->get(); 

     return view('content.products', self::$data , compact('products', 'sort')); 
    } 
} 

このルートである:それらは、ビューからのリンクである

Route::get('shop/{category_url}/sorting-{sort?}', '[email protected]'); 

、ビューはcontent.products

<a href=" {{ url('shop/'.$category['url'].'/sorting-asc')}}" style="color:black"> High to low</a> | 
    <a href=" {{ url('shop/'.$category['url'].'/sorting-desc')}}" style="color:black">Low to high</a> 
であります

モデル:

class Product extends Model { 


static public function getProducts($category_url, &$data){ 

    $data['products']=$data['category']=[]; 


    if ($category=Categorie::where('url','=', $category_url)->first()){ 

     $category= $category->toArray(); 
     $data['category']=$category; 
     $data['title']=$data['title']. ' | ' . $category['title']; 


     if ($products=Categorie::find($category['id'])->products){ 

      $data['products']= $products->toArray(); 
     } 
    } 
} 

答えて

0

は、あなたのコントローラでこれを試してみてください:

if ($category1 = Categorie::where('url', '=', $category_url)->first()) { 

    $products = Product::where('categorie_id', $category1->getAttribute('id')); 
    $products = strtolower($sort) == 'asc' ? $products->orderBy('price'):$products->orderByDesc('price'); 
    $products = $products->get(); 

    return view('content.products', self::$data , compact('products', 'sort')); 
} 
+0

このhttps://pastebin.com/57vFCA3rにまだ順番が変更されていない、製品がどのようなRO.IT @同じ順序 –

+0

にとどまることに変更しましたあなたのビューコードですか? – ShahinSorkh

+0

ここhttps://pastebin.com/KT5KijBi –

関連する問題