php codeigniter where子句语句

bt1cpqcv  于 2021-06-21  发布在  Mysql
关注(0)|答案(1)|浏览(395)

我有一个非常基本的声明,我正在尝试运行,我有一个问题。

$item = $this->db
            ->select("r.CustomerIDs, r.DateAdded")
            ->join("customer_orders_rewards as cor", "r.RewardID = cor.RewardID")
            ->join("customer_orders as co", "co.OrderID = cor.OrderID")
            ->where(array("r.Denomination" => $row['Denomination'], "r.RewardID" => "cor.RewardID"))
            ->get("customer_rewards as r");

在上面的陈述中,它是解释 cor.RewardID 作为字符串,我希望它是 join .
它导致查询如下所示:

SELECT `r`.`CustomerID`, `r`.`DateAdded` 
FROM `customer_rewards` as `r` 

JOIN `customer_orders_rewards` as `cor` 
ON `r`.`RewardID` = `cor`.`RewardID` 

JOIN `customer_orders` as `co` 
ON `co`.`OrderID` = `cor`.`OrderID` 

WHERE `r`.`Denomination` = '35' 
AND `r`.`RewardID` = 'cor.RewardID'  <---- Issue

如何从 join 在我的 WHERE 条款?

wj8zmpe1

wj8zmpe11#

一个简单的解决方法是

"r.RewardID = cor.RewardID"

而不是

"r.RewardID" => "cor.RewardID"

那样的话, cor.RewardID 不应将其视为字符串文字,而应视为实际列。
另一方面,你已经加入行时 r.RewardID = cor.RewardID ,所以我想说,额外的条件是多余的(有问题的一个),使它不需要。

相关问题