显示类别标题

时间:2018-03-19 09:46:09

标签: laravel laravel-5

我创建了一个页面,您可以在其中选择项目的父类别。我的数据库有一个名为productparentcat_id的列,其中包含类别的ID。

然后我遇到的问题是即使保存了正确的ID,当我尝试将其显示在我尝试编辑它未显示的页面时。我收到此错误

  

“SQLSTATE [42S22]:找不到列:1054'字段列表'中的未知列'productscat.id'(SQL:从productscat中选择idproducts products 1}}。productparentcat_id = 347和productsproductparentcat_id不为空

我知道sql语句错了,我的代码错了,但我看不出哪里出错了。我希望有新鲜眼睛的人能发现它。

我的ProductsController中的编辑功能

    public function edit($id)
{
    $products = Product::find($id);

    $category_options = ProductsCat::pluck('title', 'id');

    $selected_parent = $products->productParentCat()
                                ->pluck('id')
                                ->toArray();


    if(is_null($products)){
        return redirect()->route('products.edit');
    }

    return view('products::admin.edit', compact('selected_parent', 'products', 'category_options'));
}

我的edit.blade.php

    <div class="form_input">
    <div>
        {!! Form::label('productparentcat_id', 'Parent Category') !!}
    </div>
    <div>
        {!! Form::select('productparentcat_id', $category_options, $selected_options, array("class" => "form-control")) !!}
    </div>
</div>

我的产品型号

public function productParentCat()
{
    return $this->hasMany('App\Modules\Products\Models\Product', 'productparentcat_id');
}

如果我需要提供任何其他信息,请告诉我。

1 个答案:

答案 0 :(得分:0)

public function productParentCat()
{
    return $this->hasMany('App\Modules\Products\Models\Product', 'productparentcat_id');
}

这应该与类别模型而不是产品模型相关

App\Modules\Products\Models\Product替换为您的类别模型