PHP code example of nathandunn / model-repositories
1. Go to this page and download the library: Download nathandunn/model-repositories library. Choose the download type require.
2. Extract the ZIP file and open the index.php.
3. Add this code to the index.php.
<?php
require_once('vendor/autoload.php');
/* Start to develop here. Best regards https://php-download.com/ */
namespace App\Records;
use App\Users\User;
use Illuminate\Database\Eloquent\Builder;
use NathanDunn\Repositories\Repository;
class RecordRepository extends Repository
{
public function __construct(Record $record)
{
parent::__construct($record);
}
public function forUser(User $user): Builder
{
return $this->model->where('user_id', '=', $user->id);
}
}
namespace App\Http\Controllers;
use App\Http\Resources\RecordResource;
use App\Records\RecordRepository;
use Illuminate\Http\Request;
class RecordsController extends Controller
{
public function __construct(
protected RecordRepository $recordRepository
) {}
public function index(Request $request)
{
$records = $this->recordRepository->getPaginatedForUser($request->user());
return RecordResource::collection($records);
}
}