我有一个用户技能的集合,但我需要的是得到一个数组,我尝试了这个只有技能
$builder->where('job_id', $value)
->join('users', 'job_applicants.user_id', '=', 'users.id')
->join('user_skills', 'users.id', '=', 'user_skills.user_id', function ($join){
$join->selectRaw("GROUP_CONCAT(user_skills.skill, ', ')");
})
->groupBy('job_applicants.job_id')
->get();
异常消息: Object of class Closure could not be converted to string
1条答案
按热度按时间a7qyws3x1#
连接闭包应该是表名之后的第一个也是唯一一个参数。
然而,join闭包中的selectraw并没有什么意义。从逻辑上讲,这不是您选择数据的地方。您已经联接了表,您的select语句属于主查询,它不属于包含在联接中的语句,如下所示: