<?php
|
|
namespace App\Vola\Repositories;
|
|
use Illuminate\Database\Eloquent\Model;
|
|
interface GenericRepositoryInterface
|
{
|
public function get(int $id, bool $trashed = false, array $relations = []) : Model;
|
|
public function update(array $data, Model $instance);
|
|
public function search(array $params = [], bool $onlyTrashed = false, array $relations = [], bool $paginate = false, $withTrashed = false, $groupBy = null);
|
|
public function destroy(int $id);
|
|
public function restore(Model $instance);
|
|
public function store(array $params);
|
|
public function load(Model $model, array $relations);
|
|
public function beginTransaction();
|
|
public function commitTransaction();
|
|
public function rollbackTransaction();
|
|
public function firstOrCreate(array $attributes, array $params);
|
|
public function deleteByCondition(array $params);
|
|
public function updateOrCreate(array $attributes, array $params, $withTrashed = false);
|
|
public function syncRelations(Model $model, $relation, array $values);
|
|
public function truncate();
|
}
|