Browse Source

fix: search

master
hole-thu 3 years ago
parent
commit
c8dcaab936
  1. 30
      src/models.rs

30
src/models.rs

@ -280,25 +280,31 @@ impl Post {
query = match search_mode { query = match search_mode {
0 => { 0 => {
pat = format!("%#{}%", &search_text2); pat = format!("%#{}%", &search_text2);
query query.filter(
.filter(posts::cw.eq(&search_text)) posts::cw
.or_filter(posts::cw.eq(format!("#{}", &search_text))) .eq(&search_text)
.or_filter(posts::content.like(&pat)) .or(posts::cw.eq(format!("#{}", &search_text)))
.or_filter( .or(posts::content.like(&pat))
comments::content .or(comments::content
.like(&pat) .like(&pat)
.and(comments::is_deleted.eq(false)), .and(comments::is_deleted.eq(false))),
) )
} }
1 => { 1 => {
pat = format!("%{}%", search_text2.replace(" ", "%")); pat = format!("%{}%", search_text2.replace(" ", "%"));
query query
.filter(posts::content.like(&pat).or(comments::content.like(&pat))) .filter(
posts::content.like(&pat).or(comments::content
.like(&pat)
.and(comments::is_deleted.eq(false))),
)
.filter(posts::allow_search.eq(true)) .filter(posts::allow_search.eq(true))
} }
2 => query 2 => query.filter(
.filter(posts::author_title.eq(&search_text)) posts::author_title
.or_filter(comments::author_title.eq(&search_text)), .eq(&search_text)
.or(comments::author_title.eq(&search_text)),
),
_ => panic!("Wrong search mode!"), _ => panic!("Wrong search mode!"),
}; };

Loading…
Cancel
Save