我们说我有一个书架一对多关系Person =>汽车,
伪代码
# Person
hasMany: cars
id
name
# Car
belongsTo: person
id
make
现在我想找到所有拥有“罗孚”的人。
我天真地希望的是这样的东西,显然不起作用:
Person.query({ where: { cars: { make: 'Rover' } } } )
答案 0 :(得分:2)
看起来没有真正优雅的解决方案。我通过使用连接最终解决了我的问题。
看起来像这样:
Person.query((qb) => {
qb.join('cars', 'cars.person_id', 'person.id');
// no that the cars are joined,
// they are available for querying
qb.where({'cars.make': 'Rover'});
})
.then((result) => {
// do stuff
})
.catch((err) => {
// always catch errors
console.error(err);
});
当你想要查询与数据透视/中间表的多对多关系的对应物时,它会变得有点复杂,但这可能有助于开始。
答案 1 :(得分:0)
您需要使用# Bitnami applications installed in a Virtual Host
Include "/opt/bitnami/apache2/conf/extra/httpd-vhosts.conf"
选项来获取相关模型。试试这个,
withRelated
来自文档here
的更多信息