如何確定Bookshelf hasMany
關係是否根本沒有被加載或只是空的?書架關係檢測如果提取
根據Bookshelfjs文檔:
的相關方法返回加載在模型上的關係散列指定的關係,或者調用相關聯繫方法,如果存在的話,有沒有把它添加到關係哈希尚未加載。 Model#related
如果給{ withRelated: ['relation'] }
到fetch
,關係加載爲可如果設置debug: true
到Knex可以看到輸出,並且related('relation')
包含了型號,如果他們存在。
但是,如果沒有相關車型的related('relation')
的返回值似乎是一樣的,當不給withRelated
選項可言,即。它不能用於確定數據是否先前已加載。多次調用related('relation').fetch()
會產生儘可能多的SQL查詢。
我在做一些根本性錯誤或者我真的只需要爲關係構建自己的緩存?我有我需要過濾的關係,並希望模型實例具有良好的過濾數據獲取器,而不必在每次調用時都從數據庫中重新獲取關係。