首页 > 解决方案 > 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();

标签: laravel

解决方案


您可以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();

推荐阅读