folderSql.php 1.6 KB
<?php

namespace Model;

/**
 * 文件夹
 * @author:dc
 * @time 2023/2/17 18:04
 * Class folderSql
 * @package Model
 */
class folderSql {

    public static $table = 'folders';

    /**
     * 所有文件夹
     * @param int|array $email_id
     * @return string
     * @author:dc
     * @time 2023/2/18 9:22
     */
    public static function all(int|array $email_id, $field = '`id`,`folder`,`pid`,`origin_folder`,`last_sync_time`'):string {
        return "select {$field} from `".static::$table."` where ".dbWhere(['email_id'=>$email_id])." order by `id` asc";
    }


    /**
     * 是否存在,存在则返回 id
     * @param $where
     * @return string
     * @author:dc
     * @time 2023/2/18 11:48
     */
    public static function has($where):string {
        return "select `id` from `".self::$table."` where ".dbWhere($where);
    }

    /**
     * 查询一条完整的数据
     * @param array|string $where
     * @return string
     * @author:dc
     * @time 2023/3/14 11:49
     */
    public static function first(array|string|int $where,$filed = '*'):string {
        $where = is_numeric($where) ? ['id'=>$where] : $where;
        return "select {$filed} from `".self::$table."` where ".dbWhere($where)." limit 1";
    }

    /**
     * 读取源文件夹
     * @param int $email_id
     * @param string $folder
     * @return string
     * @author:dc
     * @time 2023/5/8 11:01
     */
    public static function originFolder(int $email_id,string $folder){
        return "select `origin_folder` from `".static::$table."` where `email_id` = {$email_id} and `folder` = '{$folder}' limit 1";
    }

}