Laravel Eloquent - невозможно получить данные о взаимоотношениях - PullRequest
0 голосов
/ 03 сентября 2018

Я хочу получить таблицу соединений из базы данных, используя 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);
}

Пример вывода:

Result

Как я хочу получить информацию о детях точно так же, как родитель?

Ответы [ 3 ]

0 голосов
/ 03 сентября 2018

у вас есть данные о детях в выходных данных. Вам нужно только перебрать этот объект

0 голосов
/ 28 сентября 2018

просто используйте имя отношения следующим образом:

print_r ($ applicantDetails-> Детские);

Выше будут распечатаны данные о детях.

0 голосов
/ 03 сентября 2018

Вы можете получить детали, как это

foreach ($applicantDetails->childrens as $child) {
    var_dump($child->children);
    var_dump($child->parent);
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...