加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > PHP教程 > 正文

php – Propel ORM – 加入不相关的表

发布时间:2020-12-13 18:28:31 所属栏目:PHP教程 来源:网络整理
导读:这个SQL语句如何转换为Propel(1.6.3)? SELECT * FROM table_a JOIN table_b tableA和tableB不共享外键并且没有定义关系. TableAQuery::create()-join('tableB') 因为Propel抱怨错误,所以不起作用: “Fatal error: Uncaught exception ‘PropelException’
这个SQL语句如何转换为Propel(1.6.3)?
SELECT * FROM table_a JOIN table_b

tableA和tableB不共享外键并且没有定义关系.

TableAQuery::create()->join('tableB')

因为Propel抱怨错误,所以不起作用:

“Fatal error: Uncaught exception ‘PropelException’ with message ‘Unknown relation TableB on the TableA table’

非常感谢您的任何帮助和提示!这是我在这里的第一篇文章,我希望我还没有做错任何事:-)(在我发布之前我已经彻底搜索了!)

您可以使用原始SQL语法解决此限制.例如:
$con = Propel::getConnection(SomePeer::DATABASE_NAME);
$query = 'SELECT * FROM `table_a` JOIN `table_b` LIMIT 10';
$stmt = $con->prepare($query);
if($stmt->execute()) {
    $res = $stmt->fetchAll();
    var_dump($res);
}

注意#1:这种类型的连接可能变得非常大并且很快耗尽允许的内存大小.这就是我添加LIMIT的原因.

注意#2:输出不是很干净,数字和关联键的数组.也许有办法改善这一点.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读