Вызов неопределенного метода App \ Product :: getProductStock () - PullRequest
1 голос
/ 28 октября 2019

BadMethodCallException Вызов неопределенного метода App \ Product :: getProductStock () Эта ошибка произошла при доступе к функции модели в контроллере

My Controller


            $user_id = Auth::user()->id;
            $user_email = Auth::user()->email;


            // To prevent out of stock material from ordering
            $userCart=DB::table('cart')->where('user_email',$user_email)->get();
            // echo "<pre>"; print_r($userCart); die;
            foreach ($userCart as $cart) {

                $product_stock= Product:: getProductStock($cart->product_id,$cart->size);
                echo $product_stock;

                if ($product_stock==0) {
                    return redirect('/cart')->with('flash_message_error','Product is Stock sold out. Buy another product');
                }

                if ($Cart->quantity>$product_stock) {
                    return redirect('/cart')->with('flash_message_error','Reduced product stock & Try Again');
                }

            }

Model

    public static function getProductStock($product_id,$product_size)
    {
        $getProductStock=ProductsAttribute::select('stock')->where(['product_id'=>$product_id,'size'=>$product_size])->first();
        return $getProductStock->stock;
    }

1 Ответ

0 голосов
/ 28 октября 2019

Я думаю, что ваш подход к извлечению продукта не самый лучший.

Чтобы получить продукт, вы должны использовать этот подход:

$product = Product::find($cart->product_id);

А для получения запаса необходимо:

$product_stock = $product->getProductStock($product->id, $cart->size);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...