在商品表的add页面中实现规格表中的数据查询
实现的效果
代码的实现跟逻辑的分析:
1、逻辑分析:
现在所处的是商品表的add页面,我们需要在新增页面中查出分类绑定的规格名称和规格值(规格名称一张表,规格值一张表,分类一张表中)需要通过商品表中的分类id查出分类规格中间表,查出所有,然后再通过规格id去规格表中查出规格名称
图片上的方法实现:
2、代码的实现 (使用的是自己书写sql语句,另一种方法)
controller层的代码:
service层的代码
/**通过第三级分类id查询绑定的规格信息LWB*/
public List<ClassifySpecification> querySpecification(Long classifyId);
serviceimpl层的代码:
@Override
public List<ClassifySpecification> querySpecification(Long classifyId) {
// TODO Auto-generated method stub
List<ClassifySpecification> querySpecification = classifySpecificationDao.querySpecification(classifyId);
Map<String, Object> map = null;
for (ClassifySpecification value : querySpecification) {
map = new HashMap<>();
map.put("specificationId", value.getSpecificationId());
value.setSpecificationValueList(specificationValueDao.findByParams(map));
}
return querySpecification;
}
dao层的代码:
/**通过第三级分类id查询绑定的规格信息LWB*/
List<ClassifySpecification> querySpecification(@Param("classifyId") Long classifyId);
sql 语句
<!-- 查询分类绑定的规格 -->
<select id="querySpecification" resultType="com.framework.loippi.entity.ClassifySpecification">
SELECT
c.*, s.`name` AS name
FROM
t_classify_specification c
LEFT JOIN t_specification s ON c.specification_id = s.id
WHERE
c.classify_id = #{classifyId}
</select>
页面实现代码:
<!--/row-->
<h3>商品规格(销售属性)</h3>
<div class="ibox-content">
<h5>规格设置</h5>
<br />
<div class="dataTables_wrapper form-inline">
<table
class="table table-striped table-bordered table-hover dataTables-example dataTable">
<thead>
<tr>
<th>规格名称</th>
<th>规格值</th>
</tr>
</thead>
<tbody>
[#list tSpecification as specificationval]
<tr class="data_tr">
<td>${(specificationval.name)!''}</td>
<td>
[#list specificationval.specificationValueList as item]
<input type="checkbox" class="i_che" data-name="${(specificationval.name)!''}" data-value="${(item.numerical)!''}" data-id="${item.id}">
${(item.numerical)!''}
[/#list]
</td>
</tr>
[/#list]
</tbody>
</table>
</div>
</div>