123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133 |
- <?php
- namespace app\model\work;
- use crmeb\basic\BaseModel;
- use crmeb\traits\ModelTrait;
- class WorkGroupChat extends BaseModel
- {
- use ModelTrait;
-
- protected $name = 'work_group_chat';
-
- protected $key = 'id';
-
- protected $autoWriteTimestamp = 'int';
-
- public function ownerInfo()
- {
- return $this->hasOne(WorkMember::class, 'userid', 'owner');
- }
-
- public function sendResult()
- {
- return $this->hasOne(WorkGroupMsgSendResult::class, 'chat_id', 'chat_id');
- }
-
- public function chatMember()
- {
- return $this->hasOne(WorkGroupChatMember::class, 'group_id', 'id');
- }
-
- public function getAdminListAttr($value)
- {
- return json_decode($value, true);
- }
-
- public function getGroupCreateTimeAttr($value)
- {
- return date('Y-m-d H:i:s', $value);
- }
-
- public function getJoinTimeAttr($value)
- {
- return date('Y-m-d H:i:s', $value);
- }
-
- public function searchUserIdsAttr($query, $value)
- {
- if ($value) {
- if (is_array($value)) {
- $query->whereIn('owner', $value);
- } else {
- $query->where('owner', $value);
- }
- }
- }
- public function searchNameAttr($query, $value)
- {
- if ('' !== $value) {
- $query->whereLike('name', '%' . $value . '%');
- }
- }
-
- public function searchStatusAttr($query, $value)
- {
- if ('' !== $value) {
- if (is_array($value)) {
- $query->whereIn('status', $value);
- } else {
- $query->where('status', $value);
- }
- }
- }
- }
|