gpt4 book ai didi

php - Symfony 1.4 插入 : Accessing Table Data via Foreign Key

转载 作者:行者123 更新时间:2023-11-30 22:47:57 25 4
gpt4 key购买 nike

我需要来自两个 MySQL 表的数据 - 我编写了一个 Propel 查询来从我的“搜索”表中检索数据。现在,我尝试在 View 中使用 ->getItemView()->getPosition() 从我的“item_view”表中检索数据。 search_id(搜索表主键)是 item_view 表中的外键,但 item_view_id(项目 View 主键)不是搜索表中的外键。有关如何检索此数据的任何建议?代码如下。

查看:

<?php foreach ($queries as $query) : ?>
<tr>
<td><?php echo $query->getTs(); ?></td>
<td><?php echo $query->getUser() ? $query->getUser()->getEmail() : ""; ?></td>
<td><?php echo $query->getTerm(); ?></td>
<td><?php echo $query->getResultCount(); ?></td>
<td><?php echo **$query->getItemViews()->getItem()->getPartName()**; ?></td>
<td><?php echo **$query->getItemViews()->getPosition()**; ?></td>
</tr>
<?php endforeach; ?>

Controller :(注意:我检索用户表数据没有问题,因为它的外键在搜索表中。

$c = new Criteria();
$c->addDescendingOrderByColumn(SearchPeer::TS);
$this->queries = SearchPeer::doSelect($c);

这是不是无法从表中检索数据的情况,除非它的主键是形成推进查询的表的外键?

感谢任何解决方案!

最佳答案

我终于找到了我的问题的解决方案,这与 Propel 和 Symfony 无关,而与我对关系数据库的理解有关。

单个搜索行可能有多个 item_view 行。我最初尝试使用的 ->getItemView() 应该是 ->getItemViews() 因为存在一对多关系。它还需要作为自己的 foreach 循环嵌套以检索值。正确代码如下:

查看:

<?php foreach ($queries as $query) : ?>
<tr>
<td><?php echo $query->getTs(); ?></td>
<td><?php echo $query->getUser() ? $query->getUser()->getEmail() : ""; ?></td>
<td><?php echo $query->getTerm(); ?></td>
<td><?php echo $query->getResultCount(); ?></td>
<?php foreach ($query->getItemViews() as $iav) : ?>
<td><?php echo $iav->getItem()->getPartName(); ?></td>
<td><?php echo $iav->getPosition(); ?></td>
<?php endforeach; ?>
</tr>
<?php endforeach; ?>

关于php - Symfony 1.4 插入 : Accessing Table Data via Foreign Key,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29020799/

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