Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/244.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 有口才的人可以处理多种关系_Php_Laravel_Orm_Eloquent - Fatal编程技术网

Php 有口才的人可以处理多种关系

Php 有口才的人可以处理多种关系,php,laravel,orm,eloquent,Php,Laravel,Orm,Eloquent,有三张桌子 users: - ... - some_param admins: - ... - club_id - some_param clubs: - id - title 每个用户可以有多个管理员(由一些参数关联),每个管理员可以有多个俱乐部,我想得到每个俱乐部的标题 所以我定义了一个关系: class User extends Eloquent { public function admins() { return $this->hasM

有三张桌子

users:
 - ...
 - some_param

admins:
 - ...
 - club_id
 - some_param

clubs:
 - id
 - title
每个用户可以有多个管理员(由一些参数关联),每个管理员可以有多个俱乐部,我想得到每个俱乐部的标题

所以我定义了一个关系:

class User extends Eloquent {
    public function admins() {
        return $this->hasMany('Admin', 'some_param', 'some_param');
    }
}

class Admin extends Eloquent {    
    public function clubs() {
        $this->hasMany('Club', 'id', 'club_id');
    }
}
并希望在模板中使用它:

@foreach($user->admins as $admin)
    @foreach($admin->clubs as $club)
        {{ $club->title }}
    @endforeach
@endforeach
但是我得到了一个错误:
关系方法必须在
@foreach($admin->clubs as$club)
行返回一个类型为illumb\Database\elount\Relations\Relations
的对象


我做错了什么?提前感谢。

在以下功能中:

public function clubs() {
    $this->hasMany('Club', 'id', 'club_id');
}
您没有
return
,因此请像这样使用
return

public function clubs() {
    return $this->hasMany('Club', 'id', 'club_id');
}
另外,在
$User
变量中获取
User
集合时,请尝试使用,例如:

$user = User::with('admins.clubs')->find(1);
这将减少查询