🐛 Fix search with tag & category

This commit is contained in:
LittleSheep 2024-07-07 13:57:31 +08:00
parent fe339e722f
commit b778822247
2 changed files with 16 additions and 12 deletions

View File

@ -15,15 +15,17 @@ import (
)
func FilterArticleWithCategory(tx *gorm.DB, alias string) *gorm.DB {
return tx.Joins("JOIN article_categories ON articles.id = article_categories.article_id").
Joins("JOIN article_categories ON article_categories.id = article_categories.category_id").
Where("article_categories.alias = ?", alias)
prefix := viper.GetString("database.prefix")
return tx.Joins(fmt.Sprintf("JOIN %sarticle_categories ON %sarticles.id = %sarticle_categories.article_id", prefix, prefix, prefix)).
Joins(fmt.Sprintf("JOIN %sarticle_categories ON %sarticle_categories.id = %sarticle_categories.category_id", prefix, prefix, prefix)).
Where(fmt.Sprintf("%sarticle_categories.alias = ?", prefix), alias)
}
func FilterArticleWithTag(tx *gorm.DB, alias string) *gorm.DB {
return tx.Joins("JOIN article_tags ON articles.id = article_tags.article_id").
Joins("JOIN article_tags ON article_tags.id = article_tags.category_id").
Where("article_tags.alias = ?", alias)
prefix := viper.GetString("database.prefix")
return tx.Joins(fmt.Sprintf("JOIN %sarticle_tags ON %sarticles.id = %sarticle_tags.article_id", prefix, prefix, prefix)).
Joins(fmt.Sprintf("JOIN %sarticle_tags ON %sarticle_tags.id = %sarticle_tags.category_id", prefix, prefix, prefix)).
Where(fmt.Sprintf("%sarticle_tags.alias = ?", prefix), alias)
}
func FilterArticleWithRealm(tx *gorm.DB, id uint) *gorm.DB {

View File

@ -15,15 +15,17 @@ import (
)
func FilterPostWithCategory(tx *gorm.DB, alias string) *gorm.DB {
return tx.Joins("JOIN post_categories ON posts.id = post_categories.post_id").
Joins("JOIN post_categories ON post_categories.id = post_categories.category_id").
Where("post_categories.alias = ?", alias)
prefix := viper.GetString("database.prefix")
return tx.Joins(fmt.Sprintf("JOIN %spost_categories ON %sposts.id = %spost_categories.post_id", prefix, prefix, prefix)).
Joins(fmt.Sprintf("JOIN %spost_categories ON %spost_categories.id = %spost_categories.category_id", prefix, prefix, prefix)).
Where(fmt.Sprintf("%spost_categories.alias = ?", prefix), alias)
}
func FilterPostWithTag(tx *gorm.DB, alias string) *gorm.DB {
return tx.Joins("JOIN post_tags ON posts.id = post_tags.post_id").
Joins("JOIN post_tags ON post_tags.id = post_tags.category_id").
Where("post_tags.alias = ?", alias)
prefix := viper.GetString("database.prefix")
return tx.Joins(fmt.Sprintf("JOIN %spost_tags ON %sposts.id = %spost_tags.post_id", prefix, prefix, prefix)).
Joins(fmt.Sprintf("JOIN %spost_tags ON %spost_tags.id = %spost_tags.category_id", prefix, prefix, prefix)).
Where(fmt.Sprintf("%spost_tags.alias = ?", prefix), alias)
}
func FilterPostWithRealm(tx *gorm.DB, id uint) *gorm.DB {