Php 使用内部联接组合3个表

Php 使用内部联接组合3个表,php,mysql,database,codeigniter,Php,Mysql,Database,Codeigniter,我认为,获得所需的数据结构需要两个步骤 首先,像这样使用SQL <?php foreach ($category_features as $category_feature):?> <?php if( $category_feature['form_type'] == 'text' ){?> <div class="six wide field"> <label><?php echo $cate

我认为,获得所需的数据结构需要两个步骤

首先,像这样使用SQL

<?php foreach ($category_features as $category_feature):?>
    <?php if( $category_feature['form_type'] == 'text' ){?>
        <div class="six wide field">
            <label><?php echo $category_feature['feauture'];?></label>
            <input type="text" name="name-<?php echo $category_feature['id']?>">
        </div>
    <?php } ?>
    <?php if( $category_feature['form_type'] == 'select' ){?>
        <div class="six wide field">
            <label><?php echo $category_feature['feauture'];?></label>
            <select name="name-<?php echo $category_feature['id']?>">
                <option value="">Choose</option>
                <?php foreach ($feauture_values as $feauture_value):?>
                <!-- how can i get the features' values  -->
                <?php endforeach;?>
            </select>
        </div>
    <?php } ?>
<?php endforeach;?>
然后聚合记录集,可能类似于下面的代码

select 
f.from_type,
f.feature,
fv.feature_id,
fv.feature_value
 from features as f
inner join category_features as cf
on f.id = cf.feature_id
right join feature_values as fv;

一次很难得到正确的结果

您最初的查询是什么,表的结构是什么,您打算选择什么?@LajosArpad我编辑过。为什么不在IF中的select列表中查询select类型?我想回答这个问题,但不需要,因为已经给出了一个很好的答案。
$result = [];

array_map(function (item) use (&$result) {
    // do some aggregate operations
}, $records);