laravel - 2 种多对多关系的方式只在 NeoEloquent 的一侧工作
问题描述
我有 2 个模型,User
如下所示:UserGroup
ManyToMany relashionship
UserGroup.php
:
public function users() {
return $this->belongsToMany('App\User', 'IN');
}
User.php
public function userGroup()
{
return $this->belongsToMany('App\UserGroup', 'IN');
}
我添加了user
一个usergroup
这样的:
$u=User::find(myUserId)
获取用户,并且$g=UserGroup::find(myGroupId)
而且$g->users()->attach($u)
它工作得非常好,当我这样做时$g->users()->get()
,它也可以工作。但是当我这样做时,$u->userGoup()->get()
它返回一个空array
。所以relashionship只在一侧起作用,usergroup->users
而不是user->usergroup
解决方案
也许您需要在“belongsToMany”函数中指定所有参数
return $this->belongsToMany('App\User', 'IN', '{COLUMN_NAME_ID_USERGROUP_ON_'IN'TABLE}', '{COLUMN_NAME_ID_USER_ON_'IN'TABLE}');
return $this->belongsToMany('App\UserGroup', 'IN', '{COLUMN_NAME_ID_USER_ON_'IN'TABLE}', '{COLUMN_NAME_ID_USERGROUP_ON_'IN'TABLE}');
推荐阅读
- php - 添加 session_id 作为参数会导致我在 Apache/PHP 中出现 403 错误?
- deep-learning - 如何在长句中使用bert?
- python - 如何为 discord.py bot 中的命令添加高级订阅?
- java - RSA 公钥到 Node-Forge 公钥
- postgresql - 多个选择查询后,来自 Express 服务器的 Postgres 数据库查询超时
- javascript - Angular 8 - 无法使用指令 - 无法绑定,因为它不是已知属性
- javascript - 有状态的类 Hook React
- javascript - 通过触发 JavaScript 日期事件更改变量
- hyperledger-fabric - Hyperledger Fabric 如何回滚数据?
- javascript - 如何根据子域制作动态网站?