TimestampBehavior::class, 'attributes' => [ ActiveRecord::EVENT_BEFORE_INSERT => ['created_at','updated_at'], ActiveRecord::EVENT_BEFORE_UPDATE => ['updated_at'], ], ], ]; } //发送消息 public static function sendMessage($ims_id,$user_id,$service_id,$content,$type) { $imMessage = new ImMessage(); $imMessage->ims_id = $ims_id; $imMessage->user_id = $user_id; $imMessage->service_id = $service_id; $imMessage->content = $content; $imMessage->type = $type; $imMessage->saveOrFail(); } //member下消息可以通过关联获取,service下的聊天用户不能通过关联,因为user_id可能是医生药师导医,service_id是客服 //member下的消息可以通过关联获取,但是再次关联的info,需要区分,因为不仅跟医生,还会跟导医聊 public function getUser() { return $this->hasOne(User::className(),['id'=>'user_id']); } //关联用户 public function getUserByServiceId() { return $this->hasOne(User::className(),['id'=>'service_id']); } public function getServiceUser() { return $this->hasOne(ServiceUser::className(),['id'=>'service_id']); } //关联服务人员 public function getServiceUserByUserId() { return $this->hasOne(ServiceUser::className(),['id'=>'user_id']); } public function getImSession() { return $this->hasOne(ImMessageSession::className(),['id'=>'ims_id']); } }