вот мой код Это код, который я написал в 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 и Categorize_type
= App \ Models \ Product)
Если я скажу это так: $ new_product_data -> $ this-> Categories () -> sync ($ request-> input ('категоризировать')));
это моя ошибка: объект класса App \ Http \ Controllers \ Admin \ ProductsController не может быть преобразован в строку