Laravel 4-使用案例编写查询 [英] Laravel 4 - Writing query using case

查看:66
本文介绍了Laravel 4-使用案例编写查询的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

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

I was wondering if someone could tell me how to write the following query using L4's query builder.

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的任何信息

I cant seem to find anything in the L4 doc's about CASE

干杯

推荐答案

Laravel 4不支持使用Query Builder进行此操作.但是,您可以像这样使用常规的select函数

Laravel 4 does not have support for this using the Query Builder. However you can use the general select function as such

$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 数据库文档上了解有关此内容的更多信息.

You can read more about this on Laravels database documentation.

这篇关于Laravel 4-使用案例编写查询的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆