From f7ab79b93d5a52b44fa83a655291afe8a30282ce Mon Sep 17 00:00:00 2001 From: liapples Date: Sun, 25 Jul 2021 09:52:36 +0800 Subject: [PATCH] =?UTF-8?q?=E8=8E=B7=E5=8F=96=E5=9B=BE=E7=89=87URL?= =?UTF-8?q?=E6=97=B6=E5=A2=9E=E5=8A=A0=E5=9F=9F=E5=90=8D?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/Models/Advertising.php | 3 +-- app/Models/Article.php | 5 +++++ app/Models/BaseModel.php | 10 +++++++++- app/Models/Channel.php | 5 +++++ app/Models/Product.php | 3 +++ app/Models/Slide.php | 3 +-- 6 files changed, 24 insertions(+), 5 deletions(-) diff --git a/app/Models/Advertising.php b/app/Models/Advertising.php index 54ef173..5ed8a55 100644 --- a/app/Models/Advertising.php +++ b/app/Models/Advertising.php @@ -9,7 +9,6 @@ class Advertising extends BaseModel use HasFactory; public function getPictureAttribute($value) { - $host = env('APP_URL'); - return $host . $value; + return $value ? $this->host . $value : ''; } } diff --git a/app/Models/Article.php b/app/Models/Article.php index 66152a6..cdd74ba 100644 --- a/app/Models/Article.php +++ b/app/Models/Article.php @@ -7,4 +7,9 @@ use Illuminate\Database\Eloquent\Factories\HasFactory; class Article extends BaseModel { use HasFactory; + + public function getImageAttribute($value) + { + return $value ? $this->host . $value : ''; + } } diff --git a/app/Models/BaseModel.php b/app/Models/BaseModel.php index a6b6400..4a5a153 100644 --- a/app/Models/BaseModel.php +++ b/app/Models/BaseModel.php @@ -6,7 +6,15 @@ use Illuminate\Database\Eloquent\Model; class BaseModel extends Model { protected $dateFormat = 'U'; - # 不转换时间戳,若使用getUpdatedAtColumn,则不能自动写入时间戳 + protected $host = ''; + + public function __construct(array $attributes = []) + { + parent::__construct($attributes); + $this->host = env('APP_URL'); + } + + # 不转换时间戳,若使用getUpdatedAtColumn,则不能自动写入时间戳 public function getUpdatedAtAttribute($value) { return strtotime($value); diff --git a/app/Models/Channel.php b/app/Models/Channel.php index 32b4129..54c5b35 100644 --- a/app/Models/Channel.php +++ b/app/Models/Channel.php @@ -13,4 +13,9 @@ use Illuminate\Database\Eloquent\SoftDeletes; class Channel extends BaseModel { use HasFactory, SoftDeletes; + + public function getIconAttribute($value) + { + return $value ? $this->host . $value : ''; + } } diff --git a/app/Models/Product.php b/app/Models/Product.php index 3ab0a40..d7a14cb 100644 --- a/app/Models/Product.php +++ b/app/Models/Product.php @@ -19,6 +19,9 @@ class Product extends BaseModel public function getPicturesAttribute($value): array { $pictures = $value ? json_decode($value, true) : []; + foreach ($pictures as &$v) { + $v = $this->host . $v; + } $this->append('picture'); return $pictures; } diff --git a/app/Models/Slide.php b/app/Models/Slide.php index 2ac232c..070804c 100644 --- a/app/Models/Slide.php +++ b/app/Models/Slide.php @@ -15,7 +15,6 @@ class Slide extends BaseModel public function getUrlAttribute($value) { - $host = env('APP_URL'); - return $host . $value; + return $value ? $this->host . $value : ''; } }