🎨 Add Relation column to database table view https://github.com/siyuan-note/siyuan/issues/9888

This commit is contained in:
Daniel 2023-12-24 14:40:05 +08:00
parent 0d57661632
commit 848289ef54
No known key found for this signature in database
GPG key ID: 86211BA83DF03017

View file

@ -18,6 +18,7 @@ package model
import (
"bytes"
"errors"
"os"
"path/filepath"
"sort"
@ -790,6 +791,11 @@ func updateAttributeViewColRelation(operation *Operation) (err error) {
// operation.BackRelationKeyID 双向关联的目标关联列 ID
// operation.Name 双向关联的目标关联列名称
if "" == operation.AvID || "" == operation.ID || "" == operation.KeyID {
err = errors.New("invalid operation")
return
}
srcAv, err := av.ParseAttributeView(operation.AvID)
if nil != err {
return
@ -862,10 +868,15 @@ func updateAttributeViewColRelation(operation *Operation) (err error) {
if !destAdded {
if operation.IsTwoWay {
name := strings.TrimSpace(operation.Name)
if "" == name {
name = destAv.Name
}
destAv.KeyValues = append(destAv.KeyValues, &av.KeyValues{
Key: &av.Key{
ID: operation.BackRelationKeyID,
Name: operation.Name,
Name: name,
Type: av.KeyTypeRelation,
Relation: &av.Relation{AvID: operation.AvID, IsTwoWay: operation.IsTwoWay, BackKeyID: operation.KeyID},
},