/**
* Class LaravelRepository
* @package Psprokofiev\LaravelRepository
*
* @method \Illuminate\Database\Eloquent\Model getSingle($id, string $key = 'id', $columns = ['*'])
* @method \Illuminate\Database\Eloquent\Model|null findSingle($id, string $key = 'id', $columns = ['*'])
* @method \Illuminate\Database\Eloquent\Builder query()
*/
php artisan make:repository User
will create \App\Repositories\UserRepository
for \App\Models\User
namespace App\Models;
use Illuminate\Database\Eloquent\Model;
use Psprokofiev\LaravelRepository\InteractsWithRepository;
class User extends Model {
use InteractsWithRepository;
//
}
You can redefine repository class with static variable
namespace App\Models;
use Illuminate\Database\Eloquent\Model;
use Psprokofiev\LaravelRepository\InteractsWithRepository;
class User extends Model {
use InteractsWithRepository;
protected static $repository = \App\Another\Namespace\UserRepository::class;
//
}
\App\Models\User::repository()->getSingle(1);
App\Models\User {#4107
id: "1",
name: "Mr. Denis Rolfson III",
email: "maximus.dubuque@example.net",
email_verified_at: "2021-04-09 20:29:24",
created_at: "2021-04-09 20:29:24",
updated_at: "2021-04-09 20:29:24",
}