0
点赞
收藏
分享

微信扫一扫

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

在 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 表达式,以满足你的需求。

举报

相关推荐

0 条评论