multi-store/app/common/model/user/UserAddress.php
mkm 5cd88dfb08 feat(model): 为多个模型添加不记录日志属性
- 在多个模型中添加 $doNotRecordLog 属性,设置为 true
- 这样可以避免为这些表生成日志,减少不必要的数据记录
- 主要涉及活动区域、配置、操作日志、APP更新、管理员、菜单、角色等模型
2025-01-04 10:34:38 +08:00

56 lines
1.5 KiB
PHP

<?php
namespace app\common\model\user;
use app\common\model\BaseModel;
use app\common\model\geo\GeoArea;
use app\common\model\geo\GeoBrigade;
use app\common\model\geo\GeoStreet;
use app\common\model\geo\GeoVillage;
use think\model\concern\SoftDelete;
/**
* 用户地址表
* Class UserAddress
* @package app\common\model
*/
class UserAddress extends BaseModel
{
use SoftDelete;
protected $pk = 'id';
protected $deleteTime = 'delete_time';
// 不生成该表的日志
public $doNotRecordLog = true;
public static function getDefaultAddress($uid)
{
$address = self::with(['area', 'street', 'village', 'brigade'])->where(['uid' => $uid, 'is_default' => 1])->find();
if (empty($address)) {
$address = self::with(['area', 'street', 'village', 'brigade'])->where(['uid' => $uid])->find();
}
return empty($address) ? [] : $address->toArray();
}
public function area()
{
return $this->hasOne(GeoArea::class, 'area_code', 'area')->field('area_code,area_name');
}
public function street()
{
return $this->hasOne(GeoStreet::class, 'street_code', 'street')->field('street_code,street_name');
}
public function village()
{
return $this->hasOne(GeoVillage::class, 'village_code', 'village')->field('village_code,village_name');
}
public function brigade()
{
return $this->hasOne(GeoBrigade::class, 'id', 'brigade')->field('id,brigade_name');
}
}