<?php

namespace App\Models;

use Illuminate\Database\Eloquent\Model;

class Base extends Model
{
    public $allCount = 1;
    /**
     * @name 列表数据
     * @return void
     * @author :liyuhang
     * @method
     */
    public function lists($map, $p, $row, $order = 'id desc', $fields = true){
        //TODO::where(['id'=>'','name'=>''])
        $lists = $this::select($fields)->forPage($p,$row)->where($map)->orderBy($order)->get()->toArray();
        if (!empty($lists)) {
            $this->allCount = $this->where($map)->count();
        }
        return $lists;
    }

    /**
     * @param array:$condition
     * @name :获取单条数据详情
     * @return mixed
     * @author :liyuhang
     * @method get
     */
    public function read($condition,$files)
    {
        $info = $this->select($files)->where($condition)->find();
        if (!empty($info)) {
            $info = $info->toArray();
        }
        return $info;
    }

    /**
     * @name :新增
     * @return void
     * @author :liyuhang
     * @method post
     */
    public function add($data){
        return $this->insert($data);
    }

    /**
     * @name :编辑
     * @return void
     * @author :liyuhang
     * @method post
     */
    public function edit($data,$condition){
        return $this->where($condition)->update($data);
    }

    /**
     * @name :删除数据
     * @return bool|void|null
     * @author :liyuhang
     * @method post
     */
    public function delete($condition){
        return $this->where($condition)->delete();
    }
}