<?php
/**
 * Created by PhpStorm.
 * User: Administrator
 * Date: 2018/11/21
 * Time: 17:25
 */
namespace App\Repositories;

use App\Models\PersonFavorite;
use Prettus\Repository\Eloquent\BaseRepository;
use Prettus\Repository\Criteria\RequestCriteria;

/**
 * Class MemberRepositoryEloquent.
 *
 * @package namespace App\Repositories;
 */
class PersonFavoriteRepository extends BaseRepository
{
    /**
     * Specify Model class name
     *
     * @return string
     */
    public function model()
    {
        return PersonFavorite::class;
    }
    /**
     * Boot up the repository, pushing criteria
     */
    public function boot()
    {
        $this->pushCriteria(app(RequestCriteria::class));
    }

    public function jobsF($settr, $where, $uid)
    {
        return $this->model->with(['jobs'=>function($query) use ($where) {
            $query->where('valid', 1)->whereIn('audit', $where)->where('display', 1);
        },'personalJobsApply'=>function($query) use ($uid) {
            $date = config('aix.personal_set.per_set.per_set.apply_job_space');
            $query->where('personal_uid', $uid)->where('created_at', '>=', date('Y-m-d H:i:s', strtotime("-{$date} day")))->where('created_at', '<=', date('Y-m-d H:i:s', strtotime("{$date} day")));
        }])->whereHas('jobs')->where($settr)->orderBy('id', 'desc')->paginate(10);
    }

    public function delPersonFavorite($id)
    {
        return $this->model->whereIn('id', $id)->delete();
    }
    public function getInfo($where)
    {
        return $this->model->where($where)->first();
    }
    public function cancelFavor($where)
    {
        return $this->model->where($where)->delete();
    }
    public function addData($data)
    {
        return $this->model->create($data);
    }
    public function getList($where)
    {
        return $this->model->where($where)->get();
    }
    public function insertData($data)
    {
        return $this->model->insert($data);
    }
}