1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465 |
- <?php
- namespace catchAdmin\wechat\model;
- use catchAdmin\wechat\model\search\UserSearchTrait;
- use catcher\base\CatchModel;
- use think\facade\Db;
- class WechatUsers extends CatchModel
- {
- use UserSearchTrait;
- protected $name = 'wechat_users';
- protected $field = [
- 'id',
- 'nickname',
- 'avatar',
- 'openid',
- 'language',
- 'country',
- 'province',
- 'city',
- 'subscribe',
- 'block',
- 'subscribe_time',
- 'subscribe_scene',
- 'unionid',
- 'sex',
- 'remark',
- 'groupid',
- 'tagid_list',
- 'created_at',
- 'updated_at',
- 'deleted_at',
- ];
- const BlOCK = 2;
- const UNBLOCK = 1;
- public function hasTags()
- {
- return $this->belongsToMany(WechatTags::class, 'wechat_user_has_tags', 'tag_id', 'user_id');
- }
- public function scopeTags($query)
- {
- return $query->addSelectSub(function () {
- return Db::name('wechat_user_has_tags')
- ->whereColumn('wechat_user_has_tags.user_id', $this->aliasField('id'))
- ->leftJoin('wechat_tags','wechat_user_has_tags.tag_id=wechat_tags.tag_id')
- ->field(Db::raw('group_concat(`wechat_tags`.name)'));
- }, 'tags');
- }
- }
|