在Adonis.js中,可以使用preload
方法来设置通过急加载加载的对象的键。下面是一个示例代码:
// app/Controllers/Http/UserController.js
const User = use('App/Models/User');
class UserController {
async index({ request }) {
const users = await User.query().preload('posts').fetch();
return users;
}
}
module.exports = UserController;
在上面的示例中,我们使用preload
方法来加载关联模型的数据。在此例中,我们加载了与User模型关联的Posts模型的数据。
使用上述代码,当访问/users
路由时,将返回包含所有用户以及每个用户的相关帖子的响应。
确保在模型中定义了正确的关联关系和外键。例如,在User模型中,应该有一个名为posts
的关联方法:
// app/Models/User.js
class User extends Model {
posts() {
return this.hasMany('App/Models/Post');
}
}
module.exports = User;
这样,Adonis.js将能够正确加载用户的帖子数据。