Why Gemfury? Push, build, and install  RubyGems npm packages Python packages Maven artifacts PHP packages Go Modules Debian packages RPM packages NuGet packages

Repository URL to install this package:

Details    
webbingbrasil/courses-module / Repositories / Eloquent / AnalyticRepositoryEloquent.php
Size: Mime:
<?php

namespace Modules\Courses\Repositories\Eloquent;

use Illuminate\Support\Facades\DB;
use Modules\Core\Repositories\CoreRepository;
use Modules\Courses\Contracts\Repositories\AnalyticRepository ;
use Modules\Courses\Entities\Analytic as Model;
use Prettus\Repository\Criteria\RequestCriteria;

/**
 * Class AnalyticRepositoryEloquent
 * @package namespace App\Repositories\Eloquent;
 */
class AnalyticRepositoryEloquent extends CoreRepository implements AnalyticRepository
{

    /**
     * Specify Model class name
     *
     * @return string
     */
    public function model()
    {
        return Model::class;
    }

    /**
     * Boot up the repository, pushing criteria
     */
    public function boot()
    {
        $this->pushCriteria(app(RequestCriteria::class));
    }

    public function select(array $select)
    {
        return $this->model->select($select);
    }

    public function count(array $where = null)
    {
        if(!is_null($where)){
            $result = $this->model->where($where)->count();
        }else{
            $result = $this->model->count();
        }
        return $result;
    }
}