【问题标题】:Laravel 4 - Writing query using caseLaravel 4 - 使用案例编写查询
【发布时间】:2013-06-12 10:25:42
【问题描述】:

我想知道是否有人可以告诉我如何使用 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 的内容

干杯,

【问题讨论】:

    标签: laravel laravel-4


    【解决方案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
    );
    

    您可以在 Laravel database documentation 上阅读更多相关信息。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2013-12-24
      • 2021-01-14
      • 2016-08-27
      • 1970-01-01
      • 2020-01-23
      • 2018-09-28
      • 1970-01-01
      相关资源
      最近更新 更多