我有一个模型 DefectReport
:
class DefectReport extends Model
{
public function site()
{
return $this->hasOne(Site::class, 'id', 'site_id');
}
public function processCode()
{
return $this->hasOne(ProcessCode::class, 'id', 'process_code_id');
}
}
那些2 "hasOne"模型中没有定义逆"belongsTo" . 这是因为那些表( sites
和 process_codes
)不知道缺陷报告是什么 .
当我从数据库中检索 DefectReport
的实例时,我得到了关系的"id"列以及关系对象 . 有没有办法得到JUST关系对象?
例如,当我打电话时:
return \App\DefectReport::with(['site', 'processCode'])->findOrFail(1);
我得到以下JSON:
{
"id":1,
"site_id":1,
"process_code_id":1,
...other fields...
"created_at":"2015-07-17 19:51:45",
"updated_at":"2015-07-17 19:51:45",
"site": {
"id":1,
"location_code":"1",
"location_desc":"test",
"created_at":"2015-07-17 19:51:45",
"updated_at":"2015-07-17 19:51:45"
},
"process_code": {
"id":1,
"code":"999",
"description":"some process code",
"created_at":"2015-07-17 19:51:45",
"updated_at":"2015-07-17 19:51:45"
}
}
请注意,“site_id”和“site”都在那里?我怎么能阻止这个?
1 回答
在你的 DefectReport 模型中添加:
Eloquent检查$ hidden 属性以标识在序列化Object时不应返回的任何属性 .