如何在laravel中同时在DB :: raw中使用CONCAT和IFNULL?

时间:2018-06-10 10:37:17

标签: mysql laravel

我想在相同的DB :: raw中使用ifnull和concat,但我不知道这一点。 这里我想得到的是,如果member_name为null,则返回N / A.我的查询是这样的:

DB::raw('(select concat(users.fname, "", " ", users.lname,"") as fullname from users where id = 1) as member_name')

2 个答案:

答案 0 :(得分:3)

您可以尝试这种简单的方法。它的作品

 DB::raw("SELECT 
    IF((users.fname AND users.lname) IS NULL,
        'N/A',
        CONCAT(users.fname,
                ' ',
                IFNULL(users.lname, ''))) AS member_name
FROM
    users
WHERE
    id = 1

");

答案 1 :(得分:2)

我希望这能帮到你,

$user = \DB::table('users')
           ->where('id', 1)
           ->select(\DB::raw('CONCAT(fname, \' \', lname) as member_name'))
           ->first();