我正在开发一个我正在编写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');
}
}
Run Code Online (Sandbox Code Playgroud)
在Laravel文档中,对于Eloquent > Converting to Array或Json部分,它清楚地说
注意:隐藏关系时,请使用关系的方法名称,而不是动态访问者名称.
这到底是什么意思?在上面的例子中,方法名称和动态访问者名称都是相同的,我不能为我的生活,想到这种情况不会是这种情况.
protected $hidden = array(
'id', 'user_id', 'user'
^^^ relationship's method name which is "user"
);
Run Code Online (Sandbox Code Playgroud)
如果要隐藏关系,则必须包含method name隐藏属性.从我的隐藏属性,我可以看到,你完全隐藏了user从Array和JSON转换的关系.但是,如果您的表中有"用户"列users_tokens,我不知道Laravel的行为.
public function user() {
return $this->belongsTo('User');
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2969 次 |
| 最近记录: |