我想使用Laravel Eloquent
从数据库中检索联接表。我可以获取关系,但是我想如何获取属于联接表的详细信息?例如,我有一个applicants
和applicant_children
表。 applicant_children
表是applicants
表上父母和孩子的联接表。我得到的详细信息只是父项详细信息。
Applicant.php
<?php
namespace App;
use Illuminate\Database\Eloquent\Model;
use App\ApplicantChildren;
class Applicant extends Model {
protected $guarded = [];
public function childrens(){
return $this->hasMany(ApplicantChildren::class, 'ic_staf', 'ic');
}
}
ApplicantChildren.php
<?php
namespace App;
use Illuminate\Database\Eloquent\Model;
use App\Applicant;
class ApplicantChildren extends Model
{
protected $guarded = [];
public function children(){
return $this->belongsTo(Applicant::class, 'ic_anak', 'ic');
}
public function parent(){
return $this->hasOne(Applicant::class, 'ic', 'ic_staf');
}
}
RegistrationController.php
public function show($id) {
$applicantDetails = Applicant::
with('childrens')
->find($id);
dd($applicantDetails);
}
输出示例:
我如何像父母一样获取孩子的详细信息?
答案 0 :(得分:1)
您可以获取类似的详细信息
foreach ($applicantDetails->childrens as $child) {
var_dump($child->children);
var_dump($child->parent);
}
答案 1 :(得分:1)
您的样本输出中有子级数据。只需要做的就是遍历该对象
答案 2 :(得分:0)
只需使用如下关系名称:
print_r($ applicantDetails-> childrens);
上面将打印儿童数据。