выберите не работает в laravel нетерпеливая загрузка после соединения - PullRequest
0 голосов
/ 16 сентября 2018

Этот код работает отлично.

InspectionClaim::with(['claimType', 'inspectionClaimReviews' => function($query){
                        $query->join('employees', 'inspection_claim_reviews.reviewer_id', '=', 'employees.id');
                        $query->join('designations', 'employees.designation_id', '=', 'designations.id');
                        //$query->select('inspection_claim_reviews.created_at', 'employees.name', 'designations.title'); // when I am adding select function it returns empty value 
                    }])
                    ->get();

Но когда я использую функцию выбора, чтобы указать, какой столбец мне нужен, он возвращается пустым.

1 Ответ

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

Я думаю, что проблема не связана с join.

Если вы используете select для подзапроса при активной загрузке, вам нужно ПО НАИМЕНЬШЕМУ включить первичный ключ и / или ключ отношения (зависит от типа отношения)


В вашем случае кажется, что отношение между InspectionClaim и inspectionClaimReviews однозначно, при условии, что вы определяете отношение в InspectionClaim class:

public function inspectionClaimReviews()
{
    return $this->hasMany(InspectionClaimReview::class,'inspection_claim_id');
}

поэтому, когда вы делаете select, вы должны как минимум включить это поле inspection_claim_reviews.inspection_claim_id.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...