Complex queries
Any Query that can be written in a raw form in sql, can also be written in yuga with the elegant orm.
Writing Complex database queries with elegant
$user = new User;
$streams = $user->where('streamable_type', 'user')->whereNotIn('id', function($query) {
$query->from('d_table');
$query->where('status', '<>', 'A');
$query->where('userStatus', 'B');
})->whereIn('id', function ($query) {
$query->where('user_id', 'IN', function($query) {
$query->where('userStatus', '<>', 'B')->select('id');
});
})->orWhere('fullname', function($query) {
$query->where('username', 'hsemix');
})->toSql('raw');SELECT * FROM `users`
WHERE
`streamable_type` = 'user' AND `id` NOT IN
(
SELECT `user_id` FROM `d_table` WHERE `status` <> 'A' AND `userStatus` = 'B'
)
AND `id` IN
(
SELECT `id` FROM `users` WHERE `userStatus` <> 'B' AND `user_id` IN
(
SELECT `id` FROM `users` WHERE `userStatus` <> 'B'
)
)
or `fullname` =
(
SELECT `fullname` FROM `users` WHERE `username` = 'hsemix'
)Last updated