Host.php
1.7 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
<?php
namespace App\Models;
use Illuminate\Database\Eloquent\Model;
/**
* 邮件服务器地址
* @time 2022/7/29 15:09
* Class EmailHost
* @package App\Mail\Models
*/
class Host extends Model {
/**
* 添加
* @param string $suffix qq.com
* @param string $host imap.qq.com
* @param string $smtp smtp.qq.com
* @param string $title 服务器名称
* @return int
* @time 2022/7/29 15:36
*/
public static function _insert(string $suffix, string $host, string $smtp, $title=''):int {
try {
// 插入新的
return static::insertGetId([
'suffix' => $suffix,
'imap' => $host,
'smtp' => $smtp ? $smtp : str_replace('imap.','smtp.',$host),
'title' => $title
]);
}catch (\Throwable $e){
// 查询是否存在
return self::_get($suffix)['id']??0;
}
}
/**
* 读取详情
* @param $idOrSuffix
* @time 2022/7/29 15:44
* @return array
*/
public static function _get($idOrSuffix):array {
$data = static::where(is_numeric($idOrSuffix) ? 'id' : 'suffix', $idOrSuffix)->first();
return $data ? $data->toArray() : [];
}
/**
* 获取所有
* @return array
* @time 2022/7/29 15:51
*/
public static function _all():array{
// 读取所有
$all = static::all()->toArray();
foreach ($all as $key => $item){
// 处理
$all[$item['suffix']] = $item;
unset($all[$item['suffix']]['suffix']);
unset($all[$item['suffix']]['id']);
unset($all[$key]);
}
return $all ? $all : [];
}
}