gpt4 book ai didi

mysql - 与两个表连接的 cdbriteria 不起作用

转载 作者:行者123 更新时间:2023-11-29 13:15:40 25 4
gpt4 key购买 nike

我有两个表 tbl1(model1-pk-cid) 和 tbl2 (model2-fk-cid) tbl1 的 cid 是 tbl2 的 fk 传统 sql 可以工作,但是使用 cdbcriteria 它会抛出异常。am 在 model1 中对其进行编码

我的传统查询在 phpmyadmin 中工作

 select fp.*
from tbl1 fp
left join tbl2 fs on fs.cid=fp.cid
where ( fp.cid in (fs.cid) and fp.kat=3)
group by fp.cid

但是 cdb 标准它抛出异常(在 model1 中)

$criteria = new CDbCriteria;


$criteria->join = 'tbl2 as fs ON fs.cid=t.cid';
$criteria->condition = 't.cid IN (fs.cid) and kat='.$id;
$criteria->group = 't.cid';

抛出的异常是

 SELECT COUNT(*) FROM (SELECT * FROM `tbl1` `t` tbl2 as fs ON fs.cid=cid WHERE cid IN (fs.cid) and kat=3 GROUP BY cid) 

我不明白为什么这样做

SELECT COUNT(*) FROM (

我的查询是

  (SELECT * FROM `tbl1` `t` tbl2 as fs ON fs.cid=cid WHERE cid IN (fs.cid) and kat=3 GROUP BY cid) 

请让我知道我无法解决这个问题

最佳答案

首先,您错过了 JOIN 关键字:

$criteria->join = 'LEFT JOIN tbl2 as fs ON fs.cid=t.cid';
// ^^^^ ^^^^

关于mysql - 与两个表连接的 cdbriteria 不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21494381/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com