Laravel如何使用querybuilder从两列进行组合concat
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Laravel如何使用querybuilder从两列进行组合concat相关的知识,希望对你有一定的参考价值。
我有一个参数projectname
,它接受基于数据库列的任何字符串。我想要的是当我搜索类似BEDOK
的关键字时,它向我显示了数据库中各列的简要列表。像这样BEDOK-20
,BEDOK-22
。
我尝试过的控制器代码
public function getNames(Request $request)
$result = DB::connection('mysql2')
->table('xp_pn_resale')
->select('town')
->whereRaw(DB::raw("CONCAT(town, ' ', street_name,'',block,'')LIKE '%$request->projectname%' "))
->limit($request->limit)
->get();
// ->toSql();
return response()->json($result);
我得到了这样的回复
"town": "BEDOK"
,
"town": "BEDOK"
,
"town": "BEDOK"
,
...
我想要的是这样
[
"town": "BEDOK-44"
,
"town": "BEDOK-540"
,
"town": "BEDOK-702"
,
...
答案
您只需要这样选择:
->selectRaw('CONCAT(town, '-', block) AS town')
以上是关于Laravel如何使用querybuilder从两列进行组合concat的主要内容,如果未能解决你的问题,请参考以下文章
Laravel 6,MYSQL - 如何使用 Laravel Querybuilder 或 Model Eloquent 将子查询与 GroupBY 左连接?
Laravel 如何获取数组而不是 QueryBuilder select() 语句的对象?
Laravel QueryBuilder 中的 Postgres 函数 WITH