我對Laravel和MVC結構相當陌生。 我想向頁面添加兩個按鈕,這將決定產品在其中的排列順序。 (價格 - 從低到高或從高到低)。 我試圖使用的查詢字符串,像這樣:如何在PHP上使用MVC結構時添加'按順序'按鈕?
href="{{ url('store/' . $cat_url . '?order=ASC') }}">Price: Low to High</a> | href="{{ url('store/' . $cat_url . '?order=DESC') }}">Price: Hign to Low</a>
這是我的產品圖片:
@foreach($products as $row)
<div class="col-md-6">
<h3>{{$row['title']}}</h3>
<p><img border="0" width="300" src="{{asset('images/' .$row['image'])}}"></p>
<p>{!! $row['article'] !!}</p>
<p><b>Price for pack:</b> {{ $row['price'] }}</p>
<p>
<input @if(Cart::get($row['id'])) disabled="disabled" @endif data-id="{{ $row['id']}}" type="button" value="Add to Order" class="add-to-order btn btn-success">
<a href="{{ url('store/' . $cat_url . '/' . $row['url']) }}" class="btn btn-primary">More Details</a>
</p>
</div>
@endforeach
這是模型:
static public function getProducts($category_url, &$data)
{
$data['products'] = [];
if ($category = Category::where('url', $category_url)->first()) {
$category = $category->toArray();
$data['title'] = 'Candy | '. $category['title'];
$data['cat_url'] = $category['url'];
$data['cat_title'] = $category['title'];
$products = Category::find($category['id'])->products;
$data['products'] = $products->toArray();
}
}
而且他是控制者:(我試圖使用'Input ::'來獲取'訂單'鍵)
public function products($category_url)
{
$order = Input::get('order');
Product::getProducts($category_url, self::$data);
return view('content.products', self::$data);
}
如何將帶有ORDER BY元素的查詢添加到此模型中?如果密鑰出現,如何從查詢字符串中獲取值?
非常感謝!
謝謝,我已經試過了,但沒有任何反應。 有沒有可能這種方式$ order始終爲空? – user3185970
有什麼想法? 因爲$ ordedr在發送給模型之前獲得了控制器中的值,所以模型可能會將其始終設置爲null? 謝謝! – user3185970
您必須在調用getProducts時傳遞訂單:$ order = Input :: get('order'); Product :: getProducts($ cat_url,$ order,self :: $ data,$ order); – scrubmx