Laravel 8: 如何在现有数据库中检索一对一关系的数据?
Laravel 8: how to retrieve data of a one to one relationship in existing database?
我在一对一关系中检索数据时遇到一些问题。
我有这个现有的 Table,我想从 rfp_details 中检索数据。
这是我的代码
//rfpmain model
protected $table = 'accounting.request_for_payment';
public function rfpDetail(){
return $this->hasOne(RfpDetail::class);
}
//rfp detail model
protected $table = 'accounting.rfp_details';
public function rfpMain(){
return $this->belongsTo(RfpMain::class);
}
//rfp controller
public function show($id)
{
$rfpMain = RfpMain::findOrFail($id);
$rd = $rfpMain->rfpDetails;
dd($rd);
}
下面是我现有数据库的结构
你需要在你的关系中定义外键,因为如果你不能定义它,那么它将采用默认值,这在你的情况下是不同的。
您需要从
替换
public function rfpDetail(){
return $this->hasOne(RfpDetail::class);
}
到
public function rfpDetail(){
return $this->hasOne(RfpDetail::class,'rfpid');
}
我在一对一关系中检索数据时遇到一些问题。 我有这个现有的 Table,我想从 rfp_details 中检索数据。 这是我的代码
//rfpmain model
protected $table = 'accounting.request_for_payment';
public function rfpDetail(){
return $this->hasOne(RfpDetail::class);
}
//rfp detail model
protected $table = 'accounting.rfp_details';
public function rfpMain(){
return $this->belongsTo(RfpMain::class);
}
//rfp controller
public function show($id)
{
$rfpMain = RfpMain::findOrFail($id);
$rd = $rfpMain->rfpDetails;
dd($rd);
}
下面是我现有数据库的结构
你需要在你的关系中定义外键,因为如果你不能定义它,那么它将采用默认值,这在你的情况下是不同的。
您需要从
替换public function rfpDetail(){
return $this->hasOne(RfpDetail::class);
}
到
public function rfpDetail(){
return $this->hasOne(RfpDetail::class,'rfpid');
}