您可以使用MySQL的IFNULL函数来处理这种情况。将FIND_IN_SET(recv.id, stra.receivers)作为第一个参数传递给IFNULL函数,并在没有结果时返回空字符串。
修改后的代码如下:
$log_list = Db::name('notification_strategy')
->alias('stra')
->join('notification_receiver recv', 'FIND_IN_SET(recv.id, stra.receivers)', 'LEFT')
->whereIn('stra.department_id', $curdepartment_childrens)
->where($where)
->field('stra.*, IFNULL(GROUP_CONCAT(recv.nickname), "") as receivers')
->order('stra.create_time desc')
->group('stra.id')
->paginate($data['limit']);
这样,如果没有匹配的receivers,则会显示空字符串。
内容由零声教学AI助手提供,问题来源于学员提问




