php - Laravel belongsToMany 排除数据透视表

标签 php laravel orm eloquent

我有两个模型,UserBadge。一个用户可以有多个徽章,一个徽章可以属于多个用户。 (使用数据透视表)

目前我正在获取我需要的数据,但另外我正在获取 pivot 表。如何排除这个?

enter image description here

这是 User 模型:

class User extends Eloquent {

    public function badges() {
        return $this->belongsToMany('Badge', 'users_badges');
    }

}

还有徽章模型:

class Badge extends Eloquent {

    public function users() {
        return $this->belongsToMany('User', 'users_badges');
    }
}

最佳答案

pivot 添加到模型中的 $hidden 属性数组。

class Badge extends Eloquent {

    protected $hidden = ['pivot'];

    public function users() {
        return $this->belongsToMany('User', 'users_badges');
    }
}

和你的User模型一样

class User extends Eloquent {

    protected $hidden = ['pivot'];

    public function badges() {
        return $this->belongsToMany('Badge', 'users_badges');
    }

}

关于php - Laravel belongsToMany 排除数据透视表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26474201/

相关文章:

php - Laravel - 路线不起作用(未找到)

php - MySQL时间重叠

php - Laravel 将外键添加到表中

python - 未找到 Django 相关名称

php - CakePHP 3 包含选择字段

mysql - 使用sqlalchemy过滤连接关系

php - Ratchet 服务器与长轮询

php - 处理自动换行的电子邮件(内容类型 : text/plain)

javascript - 在 jQuery 中获取提交的表单类(具体化 CSS 和 Laravel)

php - 如何在 Laravel 5.5 中设置事务隔离级别?