LiveComment.php 1.6 KB
<?php

namespace common\models;

use Yii;

/**
 * This is the model class for table "{{%live_comment00}}".
 *
 * @property integer $id
 * @property integer $room_id
 * @property string $uid
 * @property string $comment
 * @property string $name
 * @property string $avatar
 * @property string $cmd
 * @property integer $create_time
 */
class LiveComment extends \yii\db\ActiveRecord
{
    
    private static $room_id = 0;
    
    /**
     * @inheritdoc
     */
    public static function tableName($room_id = null)
    {
        $room_id = $room_id ? : self::$room_id;
        return '{{%live_comment' . str_pad((int)($room_id % 10), 2, '0', STR_PAD_LEFT) . '}}';
    }

    /**
     * @inheritdoc
     */
    public function rules()
    {
        return [
            [['room_id', 'create_time'], 'integer'],
            [['uid', 'name'], 'string', 'max' => 100],
            [['comment'], 'string', 'max' => 200],
            [['avatar'], 'string', 'max' => 255],
            [['cmd'], 'string', 'max' => 50],
        ];
    }

    /**
     * @inheritdoc
     */
    public function attributeLabels()
    {
        return [
            'id' => 'ID',
            'room_id' => 'Room ID',
            'uid' => 'Uid',
            'comment' => 'Comment',
            'name' => 'Name',
            'avatar' => 'Avatar',
            'cmd' => 'Cmd',
            'create_time' => 'Create Time',
        ];
    }
    
    /**
     * 根据room_id计算hash表名
     * @param type $room_id
     * @return type
     */
    public static function findByRoomid($room_id)
    {
        self::$room_id = $room_id;
        return self::find();
    }
}