<?php namespace App\Repositories\Contracts; use Illuminate\Database\Eloquent\Builder; use Illuminate\Database\Eloquent\Model; /** * Interface BaseRepository. */ interface BaseRepository { /** * @return Builder */ public function query(); /** * @param $query * @param null $callback * */ public function search($query, $callback = null); /** * @param array $columns * * @return Builder */ public function select(array $columns = ['*']); /** * @param array $attributes * * @return Model */ public function make(array $attributes = []); }