Solidity

如何映射一對多

  • January 31, 2019

我正在處理租金協議,我在這裡遇到了一個情況

  1. 一個房東可以擁有多個房產
  2. 每個屬性都有不同的詳細資訊(屬性詳細資訊、值)

現在我想將房產詳細資訊連結到房產 ID,也想將 ID 連結到房東地址。

在一個映射中包含所有者的資訊,其中一個變數可以是一組屬性 ID,並為每個屬性 ID 創建另一個映射到其相關資訊。


   struct owner{
       uint[] propertyIds;
       uint totalarea;
       address[] clients;
   }
   mapping (address => owner) owners;

   struct property{
       uint id;
       string location;
       string area;
       uint price;
   }
   mapping (uint=> property) properties;

或者,如果您不想為所有者儲存任何其他內容,則可以直接將地址映射到數組。


struct property{
   uint id;
   string location;
   string area;
   uint price;
}
mapping (address => property[]) owners;

引用自:https://ethereum.stackexchange.com/questions/66442