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

用concat对其表中的三列进行全名全称的正确方法是resident_fname resident_mi resident_lname

$resident = Resident::whereRAW("Concat(resident_fname,'',resident_mi,'',resident_lname) LIKE '%{$request->input('reservation_name')}%'")
        ->first();


萧十郎
浏览 163回答 2
2回答

汪汪一只猫

在像这样的模型中创建函数的更好的主意class Resident extends Model{    public function name(){        return $this->first_name . ' ' . $this->middle_name . ' ' . $this->last_name;    }}您可以通过以下方式访问它$resident = Resident::find(1);$resident->name()

长风秋雁

我们需要对原始查询使用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();
打开App,查看更多内容
随时随地看视频慕课网APP