选择在laravel中不起作用希望在加入后立即加载

时间:2018-09-16 09:05:43

标签: php laravel eloquent

此代码运行完美。

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();

但是当我使用select函数指定我需要的列时,则返回空。

1 个答案:

答案 0 :(得分:0)

我认为该问题与join无关。

如果您在急切加载中使用select进行子查询,则需要至少,包括主键和/或关系键(取决于关系类型)


在您的情况下,假设您在InspectionClaim类中定义了关系,似乎inspectionClaimReviewsInspectionClaim之间的关系是一对多的:

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

因此,当您执行select时,至少应包括此字段inspection_claim_reviews.inspection_claim_id