DB::table('candidates')
->join('choices', function ($join) {
$join->on('candidates.option1', '=', 'choices.idoptions')->orOn('candidates.option2', '=', 'choices.idoptions')->orOn('candidates.option3', '=', 'choices.idoptions');
})
->select('candidate.name', 'choices.program')->orderBy('name')->distinct()->get();
You will find a lot of answer here : https://laravel.com/docs/5.7/queries#joins