【发布时间】:2016-08-27 07:34:12
【问题描述】:
我遇到了以下问题。我开始将所有数据库逻辑移动到存储库,但是当我从控制器调用存储库时,它给了我一个错误:“类 App\Repositories\TransactionRepository 不存在”。
我尝试通过“composer dump-autoload”、“composer install”、“composer update”、“php artisan cache:clear”来修复它
我开始在 App/Repositories/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();
}
}
然后我从适当的 TransactionController.php 调用它
<?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');
}
这是我的 composer.json:
"autoload": {
"classmap": [
"database"
],
"psr-4": {
"Finance\\": "app/"
}
},
如果有人有任何想法,我会很高兴。
【问题讨论】: