我使用的是mysql,有一个国家表一个院校表,一对多的关系
我想要拿到美国的全部院校,用orm的方式能取出来么,研究了半天没搞定,就先用query方法写sql暂时用着了
先定义 A one-to-many association , 然后直接 populate 就好了.
参见: http://www.sailsjs.org/documentation/concepts/models-and-orm/associations/one-to-many
@feitian124 是这样做的啊,我先在是College.find().populate(‘country’)
但是我要取美国,这个populate里怎么加条件呀
你的意思是找到国家, 及国家所有的院校吧? 下面这样:
College.findOne({name: 'usa'}).populate(‘university’)
@feitian124 首先谢谢朋友
我的college里是不存国家名的,这些存在country中,college有个country_id外键
然后college里还有publish也要筛,大概是这样
College.find({publish: true}). populate(‘country’)
就是两个表有个联查条件,搞不定了
不好意思, 我上面写错了.
我想要拿到美国的全部院校
, 这样的话你上面的写法是对的,但你要遵循 waterline 的规范,
表中的列名和模型中的属性名对应起来, 建立 association. 然后像下面这么写就可以了
College.find({country_id: '美国的id', publish: true}). populate(‘country’)
恩,但是这样首先要有一套base数据了,需要知道主键是多少,还是不够灵活