php - 在 Laravel 的 Eloquent 中删除额外的枢轴对象

标签 php laravel laravel-4 pivot-table

我正在使用 Laravel 4 并让我的数据透视表正常工作并按预期提取数据,但每次调用关系时,我最终都会返回一个额外的 pivot 对象。

例如:

"entities": [
    {
        "id": 1,
        "name": "NAME",
        "short_name": "SHORT",
        "description": "",
        "pivot": {
            "project_id": 1,
            "entity_id": 1
        }
    }
]

有没有办法删除调用中多余的枢轴对象?以下是我的项目模型中的当前代码。

public function entities() {
    return $this->belongsToMany('Entity', 'project_entity');
}

最佳答案

@Anthony Sterling 在评论下回答了这个问题。我必须在模型中的 protected 数组下添加“pivot”。

<?php

class Entity extends Eloquent {
    protected $hidden = array('pivot');
    protected $guarded = array();
    protected $fillable = array();
    public $timestamps = false;
}

关于php - 在 Laravel 的 Eloquent 中删除额外的枢轴对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21555358/

相关文章:

laravel - Laravel 中多个模型观察者的问题

facebook - 新的 Facebook SDK 4 在 laravel 中抛出关于 PHP_SESSION_ACTIVE 的异常

php - Laravel whereHas 跨两个独立的数据库

php - 如何在连接表中设置 Laravel 的 Eloquent 关系?

php - 我如何查看调用 mysqli->prepare 产生的查询的最终文本?

php - SQL 简单连接问题

php - 将 html 放入 PHP 中

php - Laravel 4. 获取当前帖子的 ID

mysql - Laravel 的导入器映射问题

Laravel Forge 部署失败,用户模型上的 php 7.4 类型属性