为了账号安全,请及时绑定邮箱和手机立即绑定

Laravel如何与全名结合使用名字中间名字缩写姓

Laravel如何与全名结合使用名字中间名字缩写姓

PHP
萧十郎 2021-05-13 14:05:52
用concat对其表中的三列进行全名全称的正确方法是resident_fname resident_mi resident_lname$resident = Resident::whereRAW("Concat(resident_fname,'',resident_mi,'',resident_lname) LIKE '%{$request->input('reservation_name')}%'")         ->first();
查看完整描述

2 回答

?
汪汪一只猫

TA贡献1898条经验 获得超8个赞

在像这样的模型中创建函数的更好的主意


class Resident extends Model{

    public function name(){

        return $this->first_name . ' ' . $this->middle_name . ' ' . $this->last_name;

    }

}

您可以通过以下方式访问它


$resident = Resident::find(1);

$resident->name()


查看完整回答
反对 回复 2021-05-28
?
长风秋雁

TA贡献1757条经验 获得超7个赞

我们需要对原始查询使用CONCAT_WS(),但也要了解CONCAT()。那么为什么我们使用CONCAT_WS()呢?


CONCAT()和CONCAT_WS()函数都用于连接两个或多个字符串,但是它们之间的基本区别在于CONCAT_WS()函数可以与字符串之间的分隔符一起进行连接,而在CONCAT()函数中则没有概念分隔符的


例子:


mysql> Select CONCAT('Akash','is','a','good','developer') AS 'Example of CONCAT()';


+---------------------+

| Example of CONCAT() |

+---------------------+

| Akashisagooddeveloper   |

+---------------------+


1 row in set (0.00 sec)


mysql> Select CONCAT_WS(' ','Akash','is','a','good','developer') AS 'Example of CONCAT_WS()';


+------------------------+

| Example of CONCAT_WS() |

+------------------------+

| Akash is a good developer  |

+------------------------+


1 row in set (0.00 sec)

$resident = Resident::where(DB::raw('CONCAT_WS(" ", resident_fname, resident_mi, resident_lname)'), 'like', $request->input('reservation_name'))->first();


查看完整回答
反对 回复 2021-05-28
  • 2 回答
  • 0 关注
  • 162 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信