我有一个带有“类别”列的产品模型。此列应该能够包含来自 Checkboxlist 的数据。每当用户创建新产品时,我希望表单显示“类别”复选框,并将用户上次创建的产品设置为活动的项目。
例如:“类别”复选框列表包含项目“电影”和“音乐”。当用户检查“电影”并创建产品时,下次用户去创建产品时,“电影”已经被选中(因为它保存了用户之前创建产品的选择)。
我相信这些是实现这一目标的最有效的编码步骤:
创建产品时:选中的项目保存到产品模型中的“类别”列和用户的“配置文件”模型中的“类别”列
用户最后保存的类别(配置文件模型中的“类别”列)应在产品的创建表单中检索。Product 模型的 _form 视图中的代码:
<?php echo $form->checkBoxList($model, 'categories', array('movies'=>'Movies','music'=>'Music')); ?>
(我不确定在哪里为活动值设置数组)
我需要使用 explode(",", $model->categories) 将所选复选框的数组转换为字符串,这样我就可以将它放在“产品”和“配置文件”模型的“类别”列中使用 ProductController 的 actionCreate 函数。
然后要将用户最后选择的 Checkboxlist 项目设置为在 Product _form 视图中处于活动状态,我需要通过内爆列将 $model->categories 数据转换回数组,即 implode(",", $user->profile->categories )。
你会如何在 Yii 中编写代码?