文章对应分类多个

This commit is contained in:
2021-04-02 10:15:47 +08:00
parent 5e1c402087
commit ead950990f
12 changed files with 324 additions and 180 deletions

View File

@@ -4,11 +4,12 @@ namespace App\Models;
use App\Models\Traits\BelongsToCategory;
use App\Models\Traits\HasOneCover;
use Illuminate\Database\Eloquent\Relations\BelongsToMany;
class Article extends Model
{
use HasOneCover, BelongsToCategory;
use HasOneCover;
/**
* 应进行类型转换的属性
@@ -23,4 +24,35 @@ class Article extends Model
return route('article.show', $this);
}
/**
* Notes: 关联分类
* @Author: 玄尘
* @Date : 2021/4/2 9:11
* @return \Illuminate\Database\Eloquent\Relations\BelongsToMany
*/
public function categories(): BelongsToMany
{
return $this->belongsToMany(Category::class)
->using(ArticleCategory::class);
}
/**
* Notes: description
* @Author: 玄尘
* @Date : 2021/4/2 9:17
* @param $query
* @param $ids
* @return mixed
*/
public function scopeByCategory($query, $ids)
{
if (!is_array($ids)) {
$ids = [$ids];
}
return $query->whereHas('categories', function ($q) use ($ids) {
$q->whereIN('id', $ids);
});
}
}