2016-05-02 22 views
0

次の問題があります。すべてのデータベースロジックをリポジトリに移動し始めましたが、コントローラからリポジトリを呼び出すと、「クラスApp \ Repositories \ TransactionRepositoryが存在しません」というエラーが表示されます。私は「作曲ダンプ-自動ロード」をやって、それを修正しようとしたLaravelリポジトリクラスが見つかりません

、「作曲はインストール」、「作曲の更新」、「PHPの職人キャッシュ:クリア」

私は、App /リポジトリ/ TransactionRepositoryでリポジトリの作成を開始。 PHP

<?php 

    namespace App\Repositories; 

    use Finance\Transaction; 
    use Illuminate\Support\Facades\Auth; 
    use Illuminate\Support\Facades\DB; 

    class TransactionRepository 
    { 
     /** 
     * @param $date 
     */ 
     public function byDate($date) 
     { 
      return Transaction::select(DB::raw('*')) 
       ->where('user_id', '=', Auth::user()->id) 
       ->where(DB::raw('DATE(datetime)'), '=', DATE('Y-m-d', strtotime($date))) 
       ->get(); 
     } 
    } 

は、その後、私はここに

<?php 

namespace Finance\Http\Controllers; 

use Finance\Category; 
use Illuminate\Support\Facades\Cache; 
use Session; 
use Redirect; 
use Finance\Transaction; 
use Illuminate\Http\Request; 
use Illuminate\Support\Facades\DB; 
use Finance\Http\Requests; 
use Illuminate\Support\Facades\Auth; 
use App\Repositories\TransactionRepository; 

class TransactionController extends Controller 
{ 

    protected $TransactionRepo; 

    /** 
    * TransactionController constructor. 
    */ 
    public function __construct(TransactionRepository $transactionRepository) 
    { 
     $this->TransactionRepo = $transactionRepository; 
     $this->middleware('auth'); 
    } 

、適切TransactionController.phpからそれを呼び出すことは、私のcomposer.jsonです:

"autoload": { 
    "classmap": [ 
     "database" 
    ], 
    "psr-4": { 
     "Finance\\": "app/" 
    } 
}, 

誰かが何か考えているなら、私はとても嬉しく思うでしょう。

答えて

0

私はそれが私のために働く代わりの解決策を入れて嬉しいです。

私は同様の記事で見た別の答えと大差、私はこれが見つかりました:composer.jsonで

をクラスマップを追加します。私のよう「アプリ/リポジトリ」

"autoload": { 
    "classmap": [ 
    "app/Repositories" 
    ] 
} 

はそれをお楽しみください。)

関連する問題