У меня есть объект Bid. Ставка может принадлежать Клиенту или Перевозчику (полиморфная принадлежность).Loopback; полиморфный принадлежит To и hasManyThrough в зависимости от типа владельца
Кроме того, Клиент может принадлежать Перевозчику (если Клиент принадлежит Перевозчику, он не может предлагать цену), и Клиент является тем, кто выполняет услугу, за которую они торгуют.
Итак, если Перевозчик делает ставку, он должен назначить для нее клиентов. В этом случае у многих клиентов может быть много ставок, но они не являются заявителями.
Интересно, как это лучший способ сделать это. Это как условное отношение.
Я попробовал это в bid.json:
"relations":{
"bidder":{
"type": "belongsTo",
"polymorphic": true
},
"customers": {
"type": "hasMany",
"model": "customer",
"foreignKey": "customerId"
}
}
customer.json:
"relations": {
"bids": {
"type": "hasMany",
"model": "Bid",
"foreignKey": "bidderId",
"polymoprhic": "bidder"
}
"carrier": {
"type": "belongsTo",
"model": "Carrier",
"foreignKey": "carrierId"
},
"assignments": {
"type": "hasMany",
"model": "Bid",
"foreignKey": "bidId"
}
}
carrier.json
"relations": {
"bids": {
"type": "hasMany",
"model": "Bid",
"foreignKey": "bidderId",
"polymoprhic": "bidder"
}
"carrier": {
"type": "hasMany",
"model": "Customer",
"foreignKey": ""
}
}