Я не уверен на 100% в этом, и, скорее всего, это не сработает.
НО - это даст вам хорошую отправную точку для перестройки этого запроса в Eloquent.
Вероятно, есть лучший способ сделать это, но опять же, это больше для отправной точки. Вы действительно должны пытаться выучить Eloquent лучше, так как это довольно мощный и свободный ORM. (Он читается намного лучше, чем T-SQL!).
Но в любом случае это будет выглядеть примерно так:
CareerSolutions::with(
[
'categories',
'categories.career_solutions_categories',
'users',
'users.privacy_settings'
], function($query) {
$query->where('users.privacy_settings.career_solutions', 0);
$query->where('users.privacy_settings.public', 1);
$query->orWhereIn('contacts.contact_id', function() {
Contact::where('user_id', $id)->pluck('id');
});
}
)->orWhere('users.id', $id)->get();