dousi8237 2017-04-22 09:54
浏览 76

从一个模型调用方法到另一个模型时,Laravel 5.4 BadMethodCallException错误

I am using laravel 5.4 I am calling one method from my review model to product model while calling that method it throws error

BadMethodCallException in Builder.php line 2445: Call to undefined method Illuminate\Database\Query\Builder::recalculateRating()

My Review model is

 public function storeReviewForProduct($productID, $review, $rating)
    {
        $product = Product::find($productID);
        $this->user_id = Auth::user()->id;
        $this->review = $review;
        $this->rating = $rating;
        $product->reviews()->save($this);
        // recalculate ratings for the specified product
        $product->recalculateRating($rating);
    }

My product model is:

 public function recalculateRating($rating)
    {
        $reviews = $this->reviews()->notSpam()->approved();
        $avgRating = $reviews->avg('rating');
        $this->rating_cache = round($avgRating,1);
        $this->rating_count = $reviews->count();
        $this->save();
    }

Did i call the method correctly or not please help me out

  • 写回答

0条回答 默认 最新

    报告相同问题?