From 8e4dbcfa3124dd3b90725bc315a153bd5ba24cd0 Mon Sep 17 00:00:00 2001 From: Daniel <845765@qq.com> Date: Wed, 6 Mar 2024 09:40:04 +0800 Subject: [PATCH] :bug: The corresponding entry cannot be found in the database relation https://github.com/siyuan-note/siyuan/issues/10523 --- kernel/api/av.go | 6 +++++- kernel/model/attribute_view.go | 8 +++++--- 2 files changed, 10 insertions(+), 4 deletions(-) diff --git a/kernel/api/av.go b/kernel/api/av.go index 7c5777943..5da63d8c1 100644 --- a/kernel/api/av.go +++ b/kernel/api/av.go @@ -68,7 +68,11 @@ func getAttributeViewPrimaryKeyValues(c *gin.Context) { pageSize = int(pageSizeArg.(float64)) } - attributeViewName, rows, err := model.GetAttributeViewPrimaryKeyValues(id, page, pageSize) + keyword := "" + if keywordArg := arg["keyword"]; nil != keywordArg { + keyword = keywordArg.(string) + } + attributeViewName, rows, err := model.GetAttributeViewPrimaryKeyValues(id, keyword, page, pageSize) if nil != err { ret.Code = -1 ret.Msg = err.Error() diff --git a/kernel/model/attribute_view.go b/kernel/model/attribute_view.go index 75c333481..83ffa4142 100644 --- a/kernel/model/attribute_view.go +++ b/kernel/model/attribute_view.go @@ -55,7 +55,7 @@ func SetDatabaseBlockView(blockID, viewID string) (err error) { return } -func GetAttributeViewPrimaryKeyValues(avID string, page, pageSize int) (attributeViewName string, keyValues *av.KeyValues, err error) { +func GetAttributeViewPrimaryKeyValues(avID, keyword string, page, pageSize int) (attributeViewName string, keyValues *av.KeyValues, err error) { waitForSyncingStorages() attrView, err := av.ParseAttributeView(avID) @@ -86,11 +86,13 @@ func GetAttributeViewPrimaryKeyValues(avID string, page, pageSize int) (attribut } keyValues.Values = []*av.Value{} for _, v := range tmp { - keyValues.Values = append(keyValues.Values, v) + if strings.Contains(strings.ToLower(v.String()), strings.ToLower(keyword)) { + keyValues.Values = append(keyValues.Values, v) + } } if 1 > pageSize { - pageSize = 50 + pageSize = 32 } start := (page - 1) * pageSize end := start + pageSize