我有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
。冲突仅在usergroup->users
一侧而不是user->usergroup
答案 0 :(得分:2)
也许您需要在'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}');
答案 1 :(得分:0)
我终于找到了问题所在。class Hello {
public static void main(String[] args) {
int[] a = new int[9];
Scanner sc = new Scanner(System.in);
for (int i=0;i<a.length;i++) {
a[i] = sc.nextInt();
}
System.out.println("entered elements:");
for (int x : a) {
System.out.println(" " +x);
}
sc.close();
}
}
来自problem
。他们想构建neoeloquent ORM
,但是他们的思维方式基于a nosql schemaless graph based ORM
。本应在两种方式将用户添加到组中时明确定义两种方式:
sql that eloquent ORM is based on
然后是$g->users()->attach($u)
。在$u->userGroups()->attach($g)
中,通过定义eloquent
,我可以获取组中的所有用户并获取给定用户的组。 $g->users()->attach($u)
并非如此。但是在neoeloquent
中,通过创建neo4j dbms
两种方法都能正常工作。因此问题出在one way