我创建了一个页面,您可以在其中选择项目的父类别。我的数据库有一个名为productparentcat_id的列,其中包含类别的ID。
然后我遇到的问题是即使保存了正确的ID,当我尝试将其显示在我尝试编辑它未显示的页面时。我收到此错误
“SQLSTATE [42S22]:找不到列:1054'字段列表'中的未知列'productscat.id'(SQL:从
productscat
中选择id
。products
products
1}}。productparentcat_id
= 347和products
。productparentcat_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');
}
如果我需要提供任何其他信息,请告诉我。
答案 0 :(得分:0)
public function productParentCat()
{
return $this->hasMany('App\Modules\Products\Models\Product', 'productparentcat_id');
}
这应该与类别模型而不是产品模型相关
将App\Modules\Products\Models\Product
替换为您的类别模型