php - 我如何在 ZF 中编写此查询?

标签 php sql zend-framework

我正在尝试写这个,用 zf select 查询但没有成功

SELECT * FROM `subscribers` WHERE id IN (Select subscriber_id From gs_relations Where group_id=55) 

我正在尝试这样的事情:

$gs_relations = new GSRelations();
$part = gs_relations->select()->from('gs_relations',subscriber_id')->where("group_id=$group_id");
$select = $this->select()->setIntegrityCheck(false);
return $select->where('id IN ('.$part->__toString().')');

谁能帮我解决这个问题!?

最佳答案

应该这样做:

$gs_relations = new GSRelations();
$part = $gs_relations->select()->from('gs_relations','subscriber_id')->where('group_id = ?',$group_id);
$select = $this->select()->setIntegrityCheck(false);
$select->from('subscribers')->where('id in (' . $part->__toString() . ')');
return $select;

print_r($select->__toString());

输出:

SELECT `subscribers`.* FROM `subscribers` WHERE (id in (SELECT `gs_relations`.`subscriber_id` FROM `gs_relations` WHERE (group_id = 55)))

让我知道它是怎么回事,我使用下面的代码进行测试,但没有测试执行实际的查询,因为我没有这样的数据结构:

$groupId = 55;
$part = $this->db->select()->from('gs_relations','subscriber_id')->where('group_id = ?',$groupId);
$select = $this->db->select()->from('subscribers')->where('id in (' . $part->__toString() . ')');
print_r($select->__toString());

关于php - 我如何在 ZF 中编写此查询?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/951859/

相关文章:

sql - 如何使用 LEFT OUTER JOIN 进行 JPA 查询

session - 如果不在 session 中(如果他没有登录),如何在 Zend Framework 2 中配置 Module.php 以重定向用户?

php - 移动地理定位 mysql windows azure

php - 仅在 PHP 中跟踪文件夹/文件更改

javascript - jquery html 获取可见元素数据-foo

java - 如何以页面/部分的形式最好地返回 SQL 结果

javascript - Gmail 中会弹出通知吗?

mysql - 在两个表 : Why? 的非常简单的情况下,MySQL 5.6.16 中的 "Cannot add foreign key constraint"错误

zend-framework - 如何在未找到的 Controller /操作上使用自定义 404 页面

php - Doctrine_Pager 在哪里?