调用模型[App \ Category]上未定义的关系[类别]

时间:2019-01-14 16:19:38

标签: laravel eloquent laravel-5.7

您好尝试单独获取类别/产品,例如,当我单击特定类别时,就会显示其相关产品:

但它说:调用模型[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');

 }
}

1 个答案:

答案 0 :(得分:0)

您的with必须与函数名称匹配。 with('category')可以使用,但是如果产品可以具有多个类别,则应该将其重命名为categories