我有一个模型“ Product ”,我想修改或“改变”它的一个属性,但仅限于特定情况。
我将属性、价格存储为整数。所以 1.99 美元存储为 199。
我想将它与activeForm结合起来,这样当获得价格时,它会在现场(视觉上)转换为“1.99”。但是当我提交表单时,在验证之前,它会将价格从“1.99”修改为“199”。
我假设这将需要行为,并在创建活动表单之前专门将行为附加到模型。但是,我仍然对如何设置它感到困惑。我看到有一个 AttributeBehavior 类,或者我可以制作自己的 Behavior 类,但在这种情况下我一直无法弄清楚实现。
情况:
foreach ($store_item->storeProducts as $i=>$product) {
?>
<tr>
<td>
<?= $form->field($product, '['.$i.']price')->label(false); ?>
</td>
</tr>
<?php
$i++;
}
?>