概括
我正在创建一个摄影应用程序来帮助摄影师跟踪他们的客户。这是我使用 Adonis.JS 的第一个项目,到目前为止我真的很喜欢它,但被这个问题困住了一段时间,无法在任何地方找到答案。我将分享我的模型、控制器和迁移(可能没有正确创建关系,自从我完成任何后端工作以来已经有一段时间了)
工作流:一个用户有很多客户端,一个客户端有很多服务需要能够从用户那里得到服务。
我试过的
在我的 ServiceController 中保存时,我尝试了以下操作:
const user = await auth.getUser();
service.fill({
name,
price,
quantity,
due_date
});
await user.clients().services().save(service);
return service;
但遗憾的是,我收到了 500 条错误消息:“user.clients(...).services is not a function”这确实有道理,只是不知道还能怎么做。
我工作的一种方式是:
const clients = await Database.table('clients').select('*').where('user_id', user.id);
await Database.table('services')
.insert({
name,
price,
quantity,
due_date: dueDate,
client_id: clients[0].id
});
return service;
我只是觉得那个解决方案不正确,考虑到阿多尼斯给了 Lucid,这感觉有点不合时宜,我不确定;但我觉得该查询会在某些时候引起问题。
慕少森
相关分类