Как решить Missing аргумент 1 для App \ Repositories \ FavoriteRepository :: delete ()? (Laravel 5.3)

Мой сервис выглядит следующим образом:

public function delete($store_id) { $result = $this->favorite_repository->delete($store_id); dd($result); } 

Мой репозиторий выглядит так:

 public function delete($store_id) { $data = self::where('favoritable_id', $store_id)->delete(); return $data; } 

Существуют ошибки:

Отсутствует аргумент 1 для App \ Repositories \ FavoriteRepository :: delete (), вызывается в C: \ xampp \ htdocs \ mysystem \ app \ Repositories \ FavoriteRepository.php в строке 45 и определен

Вы можете мне помочь?

ОБНОВИТЬ

Функция удаления в EloquentRepository выглядит так:

 public function delete($id) { // Find the given instance $deleted = false; $instance = $id instanceof Model ? $id : $this->find($id); if ($instance) { // Delete the instance $deleted = $instance->delete(); // Fire the deleted event $this->getContainer('events')->fire($this->getRepositoryId().'.entity.deleted', [$this, $instance]); } return [ $deleted, $instance, ]; } 

Related of "Как решить Missing аргумент 1 для App \ Repositories \ FavoriteRepository :: delete ()? (Laravel 5.3)"

Похоже, вы используете этот pakage: nilportugues/eloquent-repository

Если это так, вам необходимо изменить код репозитория:

 public function delete($store_id) { return $this->remove($store_id); } 

Вы проверили, какой экземпляр возвращает ваш self::where('favoritable_id', $store_id) ? Кажется, он возвращает экземпляр EloquentRepository вместо экземпляра модели. Разница в том, что метод delete($id) EloquentRepository – delete($id) , метод delete() модели – delete() . Поэтому вам нужно либо получить экземпляр модели для использования -> delete (), либо использовать -> delete ($ id) на вашем