我有一个用户表和一个用户地址表。
所以在地址路线的改变中,我想做一些骗局。
我已经把关系做好了,../Models/User.js
address() {
return this.hasOne('App/Models/UserAddress')
}注:这种关系正在起作用。
await user.posts().fetch()它工作得很完美
但是下面的代码不工作
const user = await User.findOrFail(auth.user.id)
const data = await request.only([
'street',
'number',
'complement',
'district',
'city',
'state',
'zip'
])
user.address().findOrCreate(data)但是这会产生一个错误
user.address (...). findOrCreate is not a function
有人能告诉我在人际关系中做这个Find Or Create的最好方法吗?
发布于 2020-01-16 01:46:38
不,那不管用。hasOne返回HasOne对象,这是一个BaseRelation对象,它没有findOrCreate,它只适用于BaseRelation模型。
我建议,因为您已经有了用户ID,并且我假设这是您的Address类引用的外键。
await Address.findOrCreate(
{ user: auth.user.id },
{
... your data here,
}
)https://stackoverflow.com/questions/57218836
复制相似问题