12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758 |
- <?php
- namespace App\Models;
- use Illuminate\Database\Eloquent\Factories\HasFactory;
- use Illuminate\Database\Eloquent\Model;
- class SitePage extends Model
- {
- use HasFactory;
- protected $table = 'site_pages';
- protected $casts = [
- 'post_date' => 'datetime:Y-m-d'
- ];
- public function tags()
- {
- return $this->belongsToMany(
- SitePageTag::class,
- 'site_pages_tag_relationship',
- 'pages_id',
- 'tag_id'
- );
- }
- // 根据 ID 获取文章
- public static function getPageById($id)
- {
- return self::where('dist_id', getDistId())->find($id);
- }
- // 根据标题获取文章
- public static function getPageByTitle($title)
- {
- return self::where('dist_id', getDistId())->where('title', $title)->first();
- }
- // 根据 Slug 获取文章
- public static function getPageBySlug($slug)
- {
- return self::where('dist_id', getDistId())->where('slug', $slug)->first();
- }
- // 获取多个文章
- public static function getPages($limit = 10)
- {
- return self::where('dist_id', getDistId())
- ->where('status', 1)
- ->limit($limit) // 限制结果数量
- ->orderBy('post_date', 'desc') // 按照发布日期降序排序
- ->get(); // 返回结果集合
- }
- }
|