0

我想知道是否有人可以告诉我如何使用 L4 的查询生成器编写以下查询。

SELECT u.user_id,c.c_id,u.username,u.email
 FROM conversation c, users u
 WHERE CASE 
 WHEN c.user_one = '$user_one'
 THEN c.user_two = u.user_id
 WHEN u.user_two = '$user_one'
 THEN c.user_one= u.user_id
 END 
 AND (
 c.user_one ='$user_one'
 OR c.user_two ='$user_one'
 )
 Order by c.c_id DESC

我似乎在 L4 文档中找不到任何关于 CASE 的内容

干杯,

4

1 回答 1

1

Laravel 4 不支持使用Query Builder. 但是,您可以使用一般select功能

$params = array($user_one, $user_one, $user_one, $user_one);
$results = DB::select(
    "SELECT u.user_id, c.c_id, u.username, u.email
    FROM conversation c, users u
    WHERE 
        CASE 
            WHEN c.user_one = ?
            THEN c.user_two = u.user_id
            WHEN u.user_two = ?
            THEN c.user_one = u.user_id
        END 
        AND (
            c.user_one = ?
            OR c.user_two = ?
        )
    ORDER BY c.c_id DESC",
    $params
);

你可以在 Laravels数据库文档中阅读更多相关信息。

于 2013-06-16T08:36:14.320 回答