这是我的代码 这是我在Trait中编写的代码,我定义了函数类别。
namespace App\Traits;
use App\Models\Category;
trait Categorizable
{
public function categories()
{
return $this->morphToMany(Category::class, 'Categorize');
}
}
和控制器中 并在控制器内部使用此功能
public function store(Request $request)
{
$this->validate($request, [
'name' => 'required',
'vahed_id' => 'required',
'min_limit' => 'required',
'max_limit' => 'required',
], [
'name.required' => 'افزودن نام کالا اجباری می باشد',
'vahed_id.required' => 'افزودن واحد اجباری می باشد',
'min_limit.required' => 'افزودن حد کمبود اجباری می باشد',
'max_limit.required' => 'افزودن حد کالای اضافه اجباری می باشد',
]);
$new_product_data = Product::create([
'name' => $request->input('name'),
'price' => $request->input('price'),
'vahed_id' => $request->input('vahed_id'),
'min_limit' => $request->input('min_limit'),
'max_limit' => $request->input('max_limit'),
'comment' => $request->input('comment'),
'barcode' => $request->input('barcode'),
'view' => $request->input('view'),
]);
if ($new_product_data){
if ($request->has('categorize')){
$new_product_data->categories()->sync($request->input('categorize'));
}
}
return redirect()->route('admin_user.dashboard.pishniaz.product.product')->with('success', 'محصول جدید با موفقیت ایجاد گردید.');
}
这是我的错误:
SQLSTATE [42S02]:未找到基表或视图:1146表'laranbar.categorizes'不存在(SQL:从category_category_id
中选择Categorizes
,其中Categorize_id
= 18和{{1 }} = App \ Models \ Product)
如果我这样说: $ new_product_data-> $ this-> categories()-> sync($ request-> input('categorize'));
这是我的错误: App \ Http \ Controllers \ Admin \ ProductsController类的对象无法转换为字符串
答案 0 :(得分:1)
添加您的App\Product
模型
use App\Traits\Categorizable;
class Product extends Model
{
use Categorizable;
}