资料库逻辑是要抓 20 岁以上的资料。
- public function index()
- {
- $users = User::where('age', '>', 20)
- ->orderBy('age')
- ->get();
- return view('users.index', compact('users'));
- }
第 8 行
- namespace MyBlog\Repositories;
- use Doctrine\Common\Collections\Collection;
- use MyBlog\User;
- class UserRepository
- {
- /** @var User 注入的User model */
- protected $user;
- /**
- * UserRepository constructor.
- * @param User $user
- */
- public function __construct(User $user)
- {
- $this->user = $user;
- }
- /**
- * 回传大于?年纪的资料
- * @param integer $age
- * @return Collection
- */
- public function getAgeLargerThan($age)
- {
- return $this->user
- ->where('age', '>', $age)
- ->orderBy('age')
- ->get();
- }
- }
将相依的 User model 依赖注入到 UserRepository。
- /** @var User 注入的User model */
- protected $user;
- /**
- * UserRepository constructor.
- * @param User $user
- */
- public function __construct(User $user)
- {
- $this->user = $user;
- }
- /**
- * 回传大于?年纪的资料
- * @param integer $age
- * @return Collection
- */
- public function getAgeLargerThan($age)
- {
- return $this->user
- ->where('age', '>', $age)
- ->orderBy('age')
- ->get();
- }
第8行
- namespace App\Http\Controllers;
- use App\Http\Requests;
- use MyBlog\Repositories\UserRepository;
- class UserController extends Controller
- {
- /** @var UserRepository 注入的UserRepository */
- protected $userRepository;
- /**
- * UserController constructor.
- *
- * @param UserRepository $userRepository
- */
- public function __construct(UserRepository $userRepository)
- {
- $this->userRepository = $userRepository;
- }
- /**
- * Display a listing of the resource.
- *
- * @return \Illuminate\Http\Response
- */
- public function index()
- {
- $users = $this->userRepository
- ->getAgeLargerThan(20);
- return view('users.index', compact('users'));
- }
- }
将相依的 UserRepository 依赖注入到 UserController。
- /** @var UserRepository 注入的UserRepository */
- protected $userRepository;
- /**
- * UserController constructor.
- *
- * @param UserRepository $userRepository
- */
- public function __construct(UserRepository $userRepository)
- {
- $this->userRepository = $userRepository;
- }
从原本直接相依的 User model,改成依赖注入的 UserRepository。
- /**
- * Display a listing of the resource.
- *
- * @return \Illuminate\Http\Response
- */
- public function index()
- {
- $users = $this->userRepository
- ->getAgeLargerThan(20);
- return view('users.index', compact('users'));
- }