[英]Implement IF statement in SQL query in Laravel5 eloquent
我想在我的laravel應用程序中使用此查詢,但是我不知道如何編寫IF部分!
SELECT
`users`.* ,
IF(`friends`.`user_id` = '2' , TRUE , FALSE) AS `user_friend`
FROM `users`
LEFT JOIN `friends` ON `friends`.`friend_id` = `users`.`id` AND `friends`.`user_id` = '2'
WHERE `users`.`id` != '2'
您可以使用DB::raw
。
User::select(DB::raw('users.* , IF(friends.user_id = '2' , TRUE , FALSE) AS user_friend'))
->join('friends', 'friends.friend_id', '=', 'user.user_id')
->where('friends.user_id, 2)
->where('user.id', '!=', 2);
更新:
您可以看一下高級連接條款
->join('friends', function ($join) {
$join->on('friends', 'friends.friend_id', '=', 'user.user_id')
->where('friends.user_id', 2);
})
請嘗試以下完整查詢:
User::select(DB::raw("users.* , IF(friends.user_id = '2' , TRUE , FALSE) AS user_friend"))
->join('friends', function ($join) {
$join->on('friends', 'friends.friend_id', '=', 'user.user_id')
->where('friends.user_id', 2);
});
這是@SteD答案進行更正后的版本。 希望這項工作對您有幫助!
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.