2015-11-03 22:45:48 4867次浏览 2条回答 0 悬赏 10 金钱

各位大侠,我是刚学php和yii的,现在碰到一个问题如下:

我有一个产品的model, 对应产品数据表,但是产品有可能会是一个套装, 所以关联了另一个表 (把所有属于一个套装的产品记录在这表里), 组成套装的本身也是一个产品:

product_id, qty

但是通过gii 生成的model和view无法体现这种关系。

model/product - 只有对应产品表的字段。
view/product/create -只有对应产品表的字段用来添加.

请问我该如何在product里增加对套装列表的引用?

在新建产品页面 , 我尝试用html + script 的方式添了一个表格到product的表单里,这样就可以添加套装包含 的产品, 这种方式对么? 有没有更好的办法? 在controller里,我怎么去得到这个表的数据 (然后才能保存到数据库里)? 怎么把数据显示到这个table里去?

....

<?= $form->field($model, 'desc')->textInput() ?>
<div id="suiteData">
<table id="suitTable" class="table">
        <thead>
                <tr>
                        <th>名称</th>
                        <th>数量</th>
                        <th>操作</th>
                </tr>
        </thead>
        <tbody>
                <tr></tr>
        </tbody>
</table>
<br />
<input type="button" id="but" value="添加">
</div>
<?= $form->field($model, 'pic')->fileInput() ?>

.....
谢谢!

  • 回答于 2015-11-04 10:17 举报

    首先解决你的多表字段问题,可以新建一个form继承至model,里面放需要的字段名称。
    至于view要可编辑的表格,你就在td里面放input就可以了。
    提交的话,可以在提交前通过js,把表单的数据组合成数组,或者json格式进行提交。
    甚至你可以在一开始就维护一个数组,修改input的同时修改数组内容。

    觉得很赞
  • 回答于 2015-11-04 11:12 举报

    你的意思是表单提交对应的是多个model?
    可以看下 官方文档的这个小节 http://www.yiiframework.com/doc-2.0/guide-input-multiple-models.html

您需要登录后才可以回答。登录 | 立即注册
onlinb41
实习生

onlinb41

注册时间:2015-11-03
最后登录:2015-11-07
在线时长:0小时14分
  • 粉丝0
  • 金钱0
  • 威望0
  • 积分0

热门问题