Files
water-back/modules/User/Models/UserInfo.php
2023-01-12 14:47:38 +08:00

68 lines
1.4 KiB
PHP

<?php
namespace Modules\User\Models;
use App\Models\AreaCode;
use App\Models\Model;
use Illuminate\Database\Eloquent\Relations\BelongsTo;
use Illuminate\Database\Eloquent\Relations\HasOne;
use Illuminate\Support\Facades\Storage;
use Illuminate\Support\Str;
class UserInfo extends Model
{
protected $primaryKey = 'user_id';
/**
* Notes : 用户
*
* @Date : 2021/3/11 5:37 下午
* @Author : < Jason.C >
* @return BelongsTo
*/
public function user(): BelongsTo
{
return $this->belongsTo(User::class);
}
/**
* Notes : 获取头像的实际地址
*
* @Date : 2021/3/12 10:53 上午
* @Author : < Jason.C >
* @param $avatar
* @return string
*/
public function getAvatarAttribute($avatar): string
{
if (empty($avatar)) {
$avatar = config('user.avatar');
}
if (Str::startsWith($avatar, 'http')) {
return $avatar;
}
return $avatar ? Storage::url($avatar) : '';
}
public function getNicknameTextAttribute(): string
{
$lenth = Str::length($this->nickname);
return Str::substr($this->nickname, 0, bcsub($lenth, 1)).'*';
}
/**
* Notes: description
*
* @Author: 玄尘
* @Date: 2023/1/12 14:12
*/
public function areaCode(): HasOne
{
return $this->hasOne(AreaCode::class,'code','delivery_code');
}
}