【发布时间】:2017-08-16 12:42:26
【问题描述】:
一旦客户在产品页面内单击 order by,我就会尝试按价格订购我的产品。我不断收到下一个错误: Undefined index: title (View: C:\xampp\htdocs\eshop\resources\views\content\item.blade.php) 。 我的“item.blade.php”是在单独页面中显示较大尺寸产品的页面。我认为问题出在我的控制器 Item 函数或我的模型 getItem 函数中,我可能是错的......如果你能帮助我,将不胜感激。谢谢
我的路线:
Route::get('shop/{category_url}/sorting-{sort?}', 'ShopController@products');
我对 content.products 的看法:
@if($products)
<br><br>
<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>
我的 item.blade.php:
@extends ('master')
@section('content')
<div class="row">
<div class="col-md-12 text-center">
@if('item')
<h1>{{ $item['title']}}</h1>
<p><img width="500" src="{{ asset ('images/' . $item['image'])}}" </p>
<p>{!! $item['article'] !!}</p>
<p><b>Price on site:</b>{{ $item['price']}}$</p>
<p>
@if(Cart::get($item['id']))
<input disabled="disabled" type="button" value="In Cart!" class="btn btn-success">
@else
<input data-id="{{ $item['id']}}" type="button" value="+ Add to cart" class="btn btn-success add-to-cart">
@endif
<a href="{{ url('shop/checkout') }}" class="btn btn-primary">Checkout</a>
</p>
@else
<p class="text-center" style="font-size: 18px">No product details ...</p>
@endif
</p>
@endsection
我的控制器:
public function products(Request $request, $category_url, $sort= 'ASC'){
Product::getProducts($category_url, self:: $data);
$catsort = Categorie::where('url', '=', $category_url)->first();
$products = Product::where('categorie_id', $catsort->id)->orderBy('price', $sort)->get();
return view('content.products', self::$data ,['products' => $products, 'sort' => $sort]);
}
public function item($category_url, $product_url){
Product::getItem($product_url, self::$data);
return view('content.item', self::$data);
}
我的模特:
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();
}
}
}
static public function getItem($product_url, &$data) {
$data['item'] = [];
if ($product = Product::where('url', '=', $product_url)->first()) {
$product = $product->toArray();
$data['item'] = $product;
$data['title'] .= '|' . $product['title'];
}
}
【问题讨论】:
-
评论不适用于扩展讨论或调试会话;这个对话是moved to chat。如果您被要求澄清或评论中的一些代码,您需要在您的问题中edit它。
标签: php laravel laravel-5 laravel-5.2