gpt4 book ai didi

php - 如何正确隐藏模型关系以防止返回 toArray() 或 toJson()?

转载 作者:行者123 更新时间:2023-12-03 02:25:39 24 4
gpt4 key购买 nike

我目前正在开发一个项目,我正在编写一个 API,并且对于很多模型,我试图隐藏它们的父关系以防止返回,就像这样

<?php namespace Viper\Model;

class User_Token extends Eloquent {

protected $table = 'users_tokens';

protected $fillable = array(
'user_id', 'token'
);

protected $hidden = array(
'id', 'user_id', 'user'
);

public function user() {
return $this->belongsTo('User');
}

}

在 Laravel 文档中,对于 Eloquent > Converting to Array or Json部分,它清楚地说

Note: When hiding relationships, use the relationship's method name, not the dynamic accessor name.

这到底是什么意思?在上面的示例中,方法名称和动态访问器名称是相同的,但我无论如何都无法想到不会出现这种情况的情况。

最佳答案

protected $hidden = array(
'id', 'user_id', 'user'
^^^ relationship's method name which is "user"
);

如果要隐藏关系,则必须在隐藏属性下包含方法名称。从你的隐藏属性中,我可以看到,你完美地隐藏了 Array 和 JSON 转换中的 user 关系。但是,如果您的 users_tokens 表中有“user”列,我不知道 Laravel 会表现什么。

public function user() {
return $this->belongsTo('User');
}

关于php - 如何正确隐藏模型关系以防止返回 toArray() 或 toJson()?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20671191/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com