【问题标题】:Removing extra pivot object in Laravel's Eloquent在 Laravel 的 Eloquent 中移除额外的枢轴对象
【发布时间】:2014-02-04 14:37:37
【问题描述】:

我正在使用 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');
}

【问题讨论】:

  • 在 Eloquent 模型的 $hidden 属性中添加“pivot”;喜欢protected $hidden = array('pivot');
  • 所以,很简单,但根本没想过尝试。谢谢!
  • @AnthonySterling 如果我只想从主键隐藏project_id 怎么办?

标签: php laravel laravel-4 pivot-table


【解决方案1】:

@Anthony Sterling 在 cmets 下回答了这个问题。我必须在模型的受保护数组下添加“枢轴”。

<?php

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2018-08-05
    • 1970-01-01
    • 2016-01-23
    • 2019-07-27
    • 2021-12-28
    • 2017-07-16
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多