【发布时间】:2017-04-21 14:43:30
【问题描述】:
免责声明:我是 Laravel 新手,但对 Django 等其他 MVC 框架有经验
我有 3 张主桌和两张多对多桌。
用户可以是客户和部门的一部分,对于用户所属的每个客户,他们都有一个等级。一个客户也可以有多个部门,但一个部门只能是一个客户的一部分。
多对多(数据透视?)表大致如下所示:
client_users
- user_id
- client_id
- rank_id
department_users
- department_id
- user_id
所以在 Laravel 我有我的客户端模型:
class Client extends Model
{
/**
* Columns:
* @property name = varchar(255)
**/
protected $table = 'clients';
// Relationships
public function departments() {
return $this->hasMany('App\Models\Grouping\Department');
}
public function users() {
return $this->hasMany('App\Models\Grouping\ClientUser');
}
}
class ClientUser extends Model
{
protected $table = 'client_users';
}
问题在于,当我执行$client->users()->get() 时,它会返回多对多数据,而不是实际用户。我希望它返回用户列表,而不是链接用户的数据列表。
我查看了文档,但无法弄清楚如何执行此操作。我必须以某种方式通过多对多,返回用户而不是多对多关系。
【问题讨论】: