laravel - laravel 中的 concat 列名 where 条件
问题描述
我想得到一个搜索结果作为数据库中两个列名的组合。第一列名称为ward
,其值为2
,第二列名称为cust_house_num
,其值为123
。如果我的输入参数是,2123
那么我想得到结果行。这是我的代码:
->Where(function($query) use ($search){
$query->orWhere('cust_name', 'like' ,"$search%");
$query->orWhere('cust_phone', $search);
$query->orWhere('ward', $search);
$query ->orWhere('CONCAT(tbl_customer.ward, " - ", tbl_customer.cust_house_num) as
concatname, $search');
})
->get();
解决方案
您可以DB::raw
使用 mysql 函数:
->Where(function($query) use ($search){
$query->orWhere('cust_name', 'like' ,"$search%");
$query->orWhere('cust_phone', $search);
$query->orWhere('ward', $search);
$query ->orWhere(DB::raw("CONCAT(tbl_customer.ward, tbl_customer.cust_house_num)"),'like', $search);
})
->get();
推荐阅读
- java - Eclipse 内容辅助不显示方法描述
- docker - 如何访问 docker-compose 中的所有 nginx 日志?
- c# - Xamarin - 将用户名从登录绑定到工具栏项
- java - java序列化:-程序在writeObject()方法时终止
- r - Rgui 中的代码自动缩进
- ios - UIScrollView 的子视图在滚动视图高度的动画之后没有响应触摸
- apache-spark - 当我们直接从数据框中选择它们时,我们可以添加两列吗
- batch-file - 如何修复完整的注册表项批量删除
- reactjs - 未捕获的 ReferenceError:未定义翻译
- html -
不显示在里面