Master.php
2.66 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
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
<?php
namespace app\models;
use Yii;
/**
* This is the model class for table "{{%master}}".
*
* @property string $id
* @property string $master_id
* @property string $name
* @property string $pic
* @property integer $create_time
* @property integer $update_time
*/
class Master extends \yii\db\ActiveRecord
{
/**
* @inheritdoc
*/
public static function tableName()
{
return '{{%master}}';
}
/**
* @inheritdoc
*/
public function rules()
{
return [
[['live_nums', 'create_time', 'update_time'], 'integer'],
[['name'], 'string', 'max' => 100],
[['meta', 'pic'], 'string', 'max' => 255],
];
}
/**
* @inheritdoc
*/
public function attributeLabels()
{
return [
'master_id' => '主播ID',
'name' => '主播名称',
'meta' => '主播标签',
'pic' => '主播头像',
'live_nums' => 'Live Nums',
'create_time' => '创建时间',
'update_time' => '更新时间',
];
}
public function behaviors() {
return [
[
'class' => \yii\behaviors\TimestampBehavior::className(),
'createdAtAttribute' => 'create_time',
'updatedAtAttribute' => 'update_time',
]
];
}
public function afterSave($insert, $changedAttributes)
{
if (!empty($changedAttributes)){
foreach ($this->room as $room){
$room->touch('update_time');
}
}
parent::afterSave($insert, $changedAttributes);
}
/**
* 关联表-房间
* @return type
*/
public function getRoom()
{
return $this->hasMany(Room::className(), ['master_id'=>'master_id']);
}
/**
* 注入查询条件
* @param array $condition
*/
public static function condition($condition){
$model = parent::find();
foreach ($condition as $field=>$value){
if ($field == 'name'){
if (!empty($value)){
$model->andWhere(['like','name',$value]);
}
}else{
$model->andWhere([$field=>$value]);
}
}
return $model;
}
/**
* 返回所有主播[id=>id.' '.name,...]的列表数组
* @return string
*/
public static function getId2name(){
$list = self::find()->all();
$masters = [];
foreach ($list as $model){
$masters[$model->master_id] = $model->master_id.' '.$model->name;
}
return $masters;
}
}