当前位置: 首页 > 面试题库 >

Codeigniter ActiveRecord:加入反引号

慕俊迈
2023-03-14
问题内容

我有一个简单的问题:如何使用CodeIgniter的ActiveRecord join函数?我要这个:

LEFT JOIN cimke ON (mk_terem.id_kicsoda=5 AND mk_terem.id_target=cimke.id_cimke)
LEFT JOIN tanar ON (mk_terem.id_kicsoda=1 AND mk_terem.id_target=tanar.id_tanar)

但是,如果使用$this->db->join(cimke,"mk_terem.id_kicsoda=5 AND mk_terem.id_target=cimke.id_cimke"),则该值5将介于反引号之间。

我怎样才能做到这一点?

更新

我想要的是?如果mk_terem.id_kicsoda为1,那么我想要,tanar.nev而当
mk_terem.id_kicsoda为5时,我想要cimke.nev

完整的SQL查询:

SELECT
terem.nev terem_nev,
elem_tipus.nev tipus_nev,
(IFNULL(cimke.nev,tanar.nev)) nev
FROM mk_terem
LEFT JOIN terem ON mk_terem.id_terem=terem.id_terem
LEFT JOIN cimke ON (mk_terem.id_kicsoda=5 AND mk_terem.id_target=cimke.id_cimke)
LEFT JOIN tanar ON (mk_terem.id_kicsoda=1 AND mk_terem.id_target=tanar.id_tanar)
LEFT JOIN elem_tipus ON (mk_terem.id_kicsoda=elem_tipus.id_kicsoda)

问题答案:

只有一个简单的解决方法,丑陋,不够优雅,但是在这种情况下它可以工作:

$original_reserved = $this->db->_reserved_identifiers;
$this->db->_reserved_identifiers[] = 5;
$this->db->_reserved_identifiers[] = 1;
// or any other values
$this->db->join('with critical values and conditions');
// some db-stuff
$this->db->_reserved_identifiers = $original_reserved;

如果有人知道更好,请显示出来!



 类似资料:
  • 问题内容: 是否可以使用反引号在Go中打印反引号: 问题答案: 原始字符串文字是反引号``之间的字符序列。在引号内,除反引号外,任何字符均合法。原始字符串文字的值是由引号之间未解释的字符组成的字符串。特别是,反斜杠没有特殊含义,字符串可以跨越多行。字符串文字

  • 问题内容: 我有反引号构建MYSQL查询。例如, 相对于: 我认为我是从Phpmyadmin导出中获得这种做法的,并且据我了解,甚至Rails都会生成这样的查询。 但是如今,我看到这样构建的查询越来越少了,而且代码看起来更加混乱,并且查询中带有反引号。即使有了SQL helper函数,没有它们,事情也会变得更加简单。因此,我正在考虑将它们抛在后面。 我想找出这种做法是否还有其他含义,例如SQL(在

  • 问题内容: 情况 我想在的每个后面添加一个数字。 例 从 至 题 我应该如何写替换字符串? 这 只是一个例子 ,所以建议是 不是 一个有效的答案。 我想知道替换字符串中的反向引用后如何具有数字。 问题答案: 解决方案是将反向引用包装在中。 这将输出 a8bcde8fghi8j 有关此特殊情况的参考,请参见手册。

  • 问题内容: 在node.js(服务器端)上工作时,我想知道是否应该一直使用所有反引号(`)而不是常规引号(“或’),因为这会使代码保持一致。为不同的事物保留不同类型的报价,如果所有非替代报价都转换为反向报价,会影响性能吗? 问题答案: 反引号允许您使用字符串模板,例如: 对于vs 我说看看这 不同之处在于您不需要在单引号中转义单引号或在单引号中转义双引号。这是唯一的区别,如果您不算必须按住Shif

  • 问题内容: 我不确定如何解释,但是当我跑步时 在谷歌浏览器中,我得到的输出像 反引号为什么要调用log函数,为什么要对它进行索引? 由Catgocat在JS室提出的问题,但是除了关于模板化字符串的事情之外,没有任何其他答案是合情合理的。 问题答案: 在ES-6中被称为“标记模板”,有关它们的更多信息,在这里,有趣的是,我在即时通讯的加星标部分中找到了该链接。 但是代码的相关部分在下面(您基本上可以

  • Spark 1.2.0 使用 Scala 2.10 写应用程序,你需要使用一个兼容的 Scala 版本(例如:2.10.X)。 写 Spark 应用程序时,你需要添加 Spark 的 Maven 依赖,Spark 可以通过 Maven 中心仓库来获得: groupId = org.apache.spark artifactId = spark-core_2.10 version = 1.2.0