目前在后台取值返回到前台显示,其中有两个外键关联部分,以下举一个例子
前:
<?php foreach ($info['group_list_table'] as $index => $group_info) : ?>
<tr><?php var_dump($group_info['group_rank']); ?>
<td class="c-table_data_list--td u-text-middle"><?php echo $group_info['group_rank']?></td>
<td class="c-table_data_list--td u-text-middle"><?php echo $group_info['competition_group_name']; ?></td>
<td class="c-table_data_list--td u-text-middle"><?php ?></td>
<td class="c-table_data_list--td u-text-middle"><?php echo $group_info['competition_group_create_time']; ?></td>
<td class="c-table_data_list--td u-text-middle"><?php echo $group_info['competition_group_update_time']; ?></td>
<td class="c-table_data_list--td u-text-middle u-text-center">
<a href="#" class="p-button_base--table p-button_type02" onclick="$('#edit_grorup').submit();">编辑</a>
<form method="POST" action="<?= $edit_grorup; ?>" id="edit_grorup" autocomplete="off">
<input type="hidden" name="id" value="<?= $info['id'] ?>">
<input type="hidden" name="group_id" value="<?= $group_info['group_id'] ?? ''; ?>">
</form>
</td>
<td class="c-table_data_list--td u-text-middle u-text-center">
<a href="#js-modal_02" class="p-button_base--table p-button_type03 js-colorbox01 cboxElement delete-group" data-help_target="#js-modal_03" data-delete-group-id="<?= $group_info['group_id'] ?? ''; ?>">删除</a>
</td>
</tr>
<?php endforeach; ?>
后:
$group_list = Model_Competitiongroup::find('all', array(
'where' => array('competition_event_id' => $id)
));
$group_list_table = array();
foreach ($group_list as $group_list_info) {
$group_id = $group_list_info->id;
$competition_group_id = $group_list_info->competition_event_id;
$competition_group_name = $group_list_info->competition_group_name;
$competition_group_create_time = $group_list_info->create_at;
$competition_group_update_time = $group_list_info->update_at;
$group_rank_data = Model_Competitionresult::find('all', array(
'where' => array('competition_group_id' => $group_id)
));
$group_rank_value = array();
foreach ($group_rank_data as $rank_data) {
$group_rank_value[] = $rank_data->ranking_no;
}
$group_list_table[] = array(
'group_id' => $group_id,
'competition_event_id' => $competition_group_id,
'competition_group_name' => $competition_group_name,
'competition_group_create_time' => $competition_group_create_time,
'competition_group_update_time' => $competition_group_update_time,
'group_rank' => $group_rank_value
);
}
$info['group_list_table'] = $group_list_table;
前台想取得的$group_info['group_rank'],在competition_result表中的ranking_no中,competition_result的competition_group_id对应competition_group中的id,
简单来说就是从取出competition_group表中的数据时,同时取出competition_result表中的关联的ranking_no并显示于$group_info['group_rank'],但是如何把外键关联的部分放于循环内部略有迷茫(或者放外面也行?), 还想请教错误的地方以及可能的改正方法,非常感谢!
competition_group 和 competition_result 是关联的?
循环内,通过关联字段去查询competition_result 表中的ranking_no,赋值给$group_info['group_rank']
问题解答:
根据问题描述,你在后台取值并返回到前台进行显示数据,其中涉及到了两个表之间的外键关联。在前台代码中,你想要显示$group_info['group_rank']
字段的值。根据你提供的信息,我们无法确定具体的数据表结构和关系,所以无法提供完整的代码解决方案。但是你可以按照以下步骤来进行关联外键并取值显示:
确保数据库中的两个表已经建立了外键关联。外键关联的建立可以通过使用ALTER TABLE
语句或在表创建时使用FOREIGN KEY
语句来完成。具体的操作方式可以参考MySQL官方文档或其他MySQL学习资源。
在后台代码中查询数据时,使用JOIN
语句将两个涉及到外键关联的表连接起来。具体的查询语句格式为:
sql SELECT * FROM table1 JOIN table2 ON table1.foreign_key = table2.primary_key
其中,table1
和table2
分别代表两个涉及到关联的表,foreign_key
和primary_key
分别代表两个表的关联字段。
在后台代码中,将查询结果返回到前台。
在前台代码中,你可以使用$group_info['group_rank']
来获取外键关联后的对应字段的值。具体的字段名称取决于你的数据表结构。
如果你需要更具体的帮助,请提供相关的数据表结构和具体的关联字段,我们可以给出基于实际情况的代码解决方案。