Php Laravel一对一关系从数据库返回所有相关资源?
我目前正在处理一个实例,其中一个用户拥有一笔养老金,如Php Laravel一对一关系从数据库返回所有相关资源?,php,laravel,api,eloquent,Php,Laravel,Api,Eloquent,我目前正在处理一个实例,其中一个用户拥有一笔养老金,如Laravelone-To-one关系中的情况。对于下面的代码示例,我仍然想知道为什么它从数据库返回所有相关记录,而不是一条 用户模型 public function pension(){ return $this->hasOne(Pension::class)->latest(); } 养老金模式 public function user(){ return $this->belongsTo(User::
Laravel
one-To-one
关系中的情况。对于下面的代码示例,我仍然想知道为什么它从数据库返回所有相关记录,而不是一条
用户模型
public function pension(){
return $this->hasOne(Pension::class)->latest();
}
养老金模式
public function user(){
return $this->belongsTo(User::class);
}
然后在我的养老金控制器中,导入App\User
public function user($id){
$user = User::find($id);
return PensionResource::collection(
$user->pension()->with(
$this->particulars()
)->get()
);
}
private function particulars(){
return [
'user:id,surname,first_name,other_name',
'pension_manager:id,name'
];
}
请注意我特意允许一个用户在数据库中有多条记录。什么是可能的修复方法?你能详细说明一下吗?请注意,我故意允许一个用户在数据库中有多个记录?@vivek_23我知道,如果数据库中只允许一个用户有一个养老金记录,问题就会解决。没错。Laravel关系不仅仅是以代码的形式存在,这种关系甚至在数据库行中也必须得到尊重。我相信这并不是所有的时间,一种关系可以同时是
一对一
和一对多
?有真实的用例吗?