php - MySQL to Laravel query -


i have query:

select concat(firstname, ' ', lastname), email users     id in(     select user_id         company_user             company_id in (             select id                 companies                 id in (                     select company_id                     activities                         created_at between date_sub(curdate(), interval 8 day)                             , date_sub(curdate(), interval 6 day)                         )                     )                 ); 

and i'd make more "laravel-friendly".

i did models (and relations on it) each table:

activity (who belongs company) company (who has n-to-n relationship user) user (who has n-to-n relationship company)

i think covers everything. ask me missing details.

thanks.

or joins equal spencer7593 response:

user::select(db::raw('concat(users.firstname, ' ', users.lastname)'), 'users.email')         ->join('company_user', 'company_user.user_id', '=', 'users.id')         ->join('companies', 'companies.id', '=', 'company_user.company_id')         ->join('activities', 'activities.company_id', '=', 'companies.id')         ->wherebetween('created_at', [             db::raw('curdate() - interval 8 day'),             db::raw('curdate() - interval 6 day')         ])         ->groupby('users.id')         ->get(); 

Comments

Popular posts from this blog

python - TypeError: start must be a integer -

c# - DevExpress RepositoryItemComboBox BackColor property ignored -

django - Creating multiple model instances in DRF3 -