您好尝试单独获取类别/产品,例如,当我单击特定类别时,就会显示其相关产品:
但它说:调用模型[App \ Category]上未定义的关系[类别]。
实际上,当我键入8来替换0时,我的类别从“ 8”开始,然后显示:未定义变量:CategoriesDetails
categories = Category::with('categories')->where(['parent_id'=>0])->get();
ProductsController的代码:
public function products($url = null){
$categories = Category::with('categories')->where(['parent_id'=>0])->get();
$categoryDetails = Category::where(['url' => $url])->first();
$productsAll = Product::where(['category_id' => $categoriesDetails->id])->get();
return view('products.listing')->with(compact('categories','categoryDetails','productsAll'));
}
产品型号代码:
<?php
namespace App;
use Illuminate\Database\Eloquent\Model;
class Product extends Model
{
public function category(){
return $this->belongsTo('App\Category');
}
}
答案 0 :(得分:0)
您的with
必须与函数名称匹配。 with('category')
可以使用,但是如果产品可以具有多个类别,则应该将其重命名为categories
。