У меня следующий запрос в Mysql:
SELECT
U.* FROM
`cr_friends` AS `cf` JOIN
`users` AS `U` WHERE
`cf`.`status` = 1
AND
(
CASE
WHEN `cf`.`friend_to` = 1 THEN `cf`.`friend_from` = `U`.`id`
WHEN `cf`.`friend_from` = 1 THEN `cf`.`friend_to` = `U`.`id`
END
) GROUP BY `U`.`id` ORDER BY `cf`.`created` desc;
Я пытаюсь поместить это в laravel следующим образом:
$myFriendsData = DB::table('cr_friends as cf')
->where('cf.status', '=', 1)
->Join('users as U')
->select(
DB::raw(
'(
CASE WHEN cf.friend_to = ' . auth()->user()->id . ' THEN cf.friend_from = U.id END
CASE WHEN cf.friend_from = ' . auth()->user()->id . ' THEN cf.friend_to = U.id END
)'
)
)
->select('U.*')
->orderBy('U.id', 'desc')
->get();
, но не удалось, так как запрос mysqlотлично работает, но этот запрос laravel не работает.
На самом деле, я думаю, что есть проблема с Join, которую я помещаю в laravel, запрашивая еще один параметр, но в этом случае я не могу сделатьэто.
Можете ли вы, ребята, наставить меня, чтобы я мог этого достичь.
Спасибо Randheer