首页 > 编程语言 >在thinkphp6中使用leftJoin时,怎么使用REPLACE?

在thinkphp6中使用leftJoin时,怎么使用REPLACE?

时间:2023-11-11 19:32:50浏览次数:37  
标签:customer work workID thinkphp6 REPLACE Expression id leftJoin

在 ThinkPHP 6 中,你可以使用 db() 函数来构建复杂的 SQL 查询,以实现 JOIN 并使用 REPLACE 函数。可以按照以下方式修改你的代码:

$res->leftJoin('work', 'work.workID = REPLACE(entry_in.workID, "JP", "")')->where('work.customer_id', $customer_id);

在这个例子中,我们将 REPLACE 函数应用在 JOIN 条件中,将 entry_in.workID 中的 "JP" 替换为空字符串,以便与 work.workID 进行比较。

请注意,这里的关键是确保 entry_in.workIDwork.workID 的数据类型相同,以确保比较的准确性。

另外,如果你需要在 JOIN 条件中使用更复杂的逻辑,可以考虑使用 Expression 类来构建原始的 SQL 表达式,如下所示:

use think\db\Expression;

$res->leftJoin('work', new Expression('work.workID = REPLACE(entry_in.workID, "JP", "")'))->where('work.customer_id', $customer_id);

使用 Expression 类可以允许你编写更复杂的 SQL 表达式,以满足你的需求。

标签:customer,work,workID,thinkphp6,REPLACE,Expression,id,leftJoin
From: https://blog.51cto.com/M82A1/8319206

相关文章

  • Spring 6.0官方文档示例(24): replace-method的用法
    一、原始bean定义packagecn.edu.tju.study.service.anno.domain;publicclassMyValueCalculator{publicStringcomputeValue(Stringinput){return"youinputted:"+input;}//someothermethods...}二、replacebean定义packagecn.edu.......
  • 无涯教程-批处理 - Replace a String函数
    要将子字符串替换为另一个字符串,请使用字符串替换功能。ReplaceaString-示例@echooffsetstr=Thismessageneedschanged.echo%str%setstr=%str:needs=has%echo%str%关于上述程序,需要注意的关键是,该示例通过语句%str:needs=has%用字符串"has"替换了"needs"......
  • PHP:ThinkPHP6.0打开debug调试模式
    文档:https://www.kancloud.cn/manual/thinkphp6_0/1037484根目录下新建环境变量文件:.envAPP_DEBUG=true......
  • rust 使用 take 和 replace 来保留所有值
    使用take和replace来保留所有值枚举类型enumMyEnum{A{name:String,x:u32},B{name:String},}使用std::mem::take()和std::mem::replace()在不克隆name的情况下修改name这种方式可以不用#[derive(Clone)],不存在内存分配。#![allow(unused)......
  • 无涯教程-Clojure - replace函数
    replacereplace函数用于用新的字符串值更换字符串中的子字符串replace-语法(replacestrpatreplacestr)参数   - “pat”是正则表达式模式,“str”是需要根据模式在其中找到文本的字符串,“replacestr”是需要根据模式在原始字符串中替换的字符串。replace-......
  • C语言 replace循环替换
    注意:字符串长度可自行定义;可以增加字符串长度判断,防止溢出。//方法一intreplace(char*src,char*old,char*new){charbuff[2048];//转换缓冲区memset(buff,0,sizeof(buff));for(inti=0;i<strlen(src);i++){//查找目标字符串......
  • Python高频面试题——如何在字符串中删除指定字符,掌握strip()、replace()和re.sub ()
    关于python删除字符串是面试python测试开发工程师的一个经典问题。问题很简单,但是一下子就能测试出来被面试者是否能够熟练的进行python相关编码工作!对于有些临时抱佛脚的同学来讲,一看删除,很自然就说用remove、del相关方法,听到这里,就知道面试者根本不知道这个答案啦!因为对于这个问......
  • [905] The replace() method in Pandas
    InPandas,thereplace()methodisusedtoreplacevaluesinaDataFrameorSeries.Youcanusethismethodtoreplaceoneormorespecifiedvalueswithothervalues.Here'showyoucanuseit:Syntax:DataFrame.replace(to_replace,value,inplace=Fal......
  • [906] Replace NaN (Not-a-Number) values with 'Null' in Pandas
    InPandas,youcanreplaceNaN(Not-a-Number)valuesinaDataFramewithNone(Python'sNonetype)ornp.nan(NumPy'sNaN)values.Here'showyoucanreplaceNaNvalueswithNone:importpandasaspdimportnumpyasnp#CreateasampleDa......
  • AtCoder Regular Contest 166——A - Replace C or Swap AB
    题目描述  中文题目描述每个字符串的长度为N,由A,B和C组成。通过对X执行以下三种操作任意次数(可能为零),确定是否有可能使X与y重合。 操作(1):选择X中的字符C替换为字符A。操作(2):在X中选择字符C替换为字符B。操作(3):选择X中的子字符串AB,替换为BA。更正式地说,选择......