2017-01-27 8 views
0

私のサービスは、このようなものです:解決方法App Repositories FavoriteRepository :: delete()の引数1がありませんか? (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がありません\ FavoriteRepository :: delete()、 で呼び出された C:\ xampp \ htdocs \ mysystem \ app \ Repositories \ FavoriteRepository.php 行45定義済み

私を助けることができますか?

UPDATEはEloquentRepositoryでの削除機能は、このようなものです:あなたはこのpakageを使用しているよう

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, 
    ]; 
} 
+0

どのクラスが 'App \ Repositories \ FavoriteRepository'を拡張していますか? 'パブリック関数は、($のSTORE_ID)を削除 { $データ=自己: – Mohan

+0

@Angryコーダ、EloquentRepository –

+0

が更新答え – Mohan

答えて

0

は思え:nilportugues/eloquent-repository

その場合は、あなたがする必要がありますリポジトリコードを次のように変更してください。

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

もし' where'という条件を使わないのであれば? –

+0

エラーがあります: '定義されていないメソッドを呼び出す\データベース\クエリ\ビルダー:: remove()' –

+0

このパッケージに 'nilportugues/eloquent-repository'を使用していますか?あなたのcomposer.jsonファイルをチェックしてください。 – Mohan

0

self::where('favoritable_id', $store_id)を返すインスタンスを確認しましたか? Modelインスタンスの代わりにEloquentRepositoryインスタンスが返されているようです。 EloquentRepositoryのの削除の方法がdelete($id)であり、モデルのの削除の方法がdelete()であるという違いがあります。 Modelインスタンスに - > delete()を使うか、 - > delete($ id)を使う必要がありますか?

関連する問題