52 lines
1.2 KiB
PHP
52 lines
1.2 KiB
PHP
<?php
|
|
|
|
namespace app\common\model;
|
|
|
|
use app\common\model\traits\TimestampInteger;
|
|
use support\think\Model;
|
|
|
|
/**
|
|
* MallAddress
|
|
*/
|
|
class MallAddress extends Model
|
|
{
|
|
use TimestampInteger;
|
|
|
|
// 表名
|
|
protected $name = 'mall_address';
|
|
|
|
// 自动写入时间戳字段
|
|
protected $autoWriteTimestamp = true;
|
|
|
|
// 追加属性
|
|
protected $append = [
|
|
'region_text',
|
|
];
|
|
|
|
|
|
public function getregionAttr($value): array
|
|
{
|
|
if ($value === '' || $value === null) return [];
|
|
if (!is_array($value)) {
|
|
return explode(',', $value);
|
|
}
|
|
return $value;
|
|
}
|
|
|
|
public function setregionAttr($value): string
|
|
{
|
|
return is_array($value) ? implode(',', $value) : $value;
|
|
}
|
|
|
|
public function getregionTextAttr($value, $row): string
|
|
{
|
|
if ($row['region'] === '' || $row['region'] === null) return '';
|
|
$cityNames = \support\think\Db::name('area')->whereIn('id', $row['region'])->column('name');
|
|
return $cityNames ? implode(',', $cityNames) : '';
|
|
}
|
|
|
|
public function mallUser(): \think\model\relation\BelongsTo
|
|
{
|
|
return $this->belongsTo(\app\common\model\MallUser::class, 'mall_user_id', 'id');
|
|
}
|
|
} |