Моя функция черты не идентифицирована в классе - PullRequest
0 голосов
/ 22 сентября 2018

вот мой код Это код, который я написал в 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 не может быть преобразован в строку

1 Ответ

0 голосов
/ 22 сентября 2018

Добавить в App\Product Модель

use App\Traits\Categorizable;
class Product extends Model 
{
    use Categorizable;

}
...