gpt4 book ai didi

yii - Yii 的 Gii 的 CRUD 生成器是否考虑了模型的关系?

转载 作者:行者123 更新时间:2023-12-02 20:56:45 24 4
gpt4 key购买 nike

我使用 Yii 的 Gii 的 CRUD 生成器来创建一个与另一个模型定义关系的模型,期望它会创建某种下拉列表或其他方式来选择相关实体的实例,但它只是显示了一个常规文本框。

这是 Gii 的正常行为还是我做错了什么?

这是模型及其关系:
模型事件:关系 'Venue' => array( self::BELONGS_TO, 'Venue', 'venue' )
模型 field :关系 'Events' => array( self::HAS_MANY, 'Event', 'venue' )

我期待事件 CRUD 能够展示某种选择 field 实例的方法。

最佳答案

这只是 Gii 的正常行为,当生成表单(对于 CRUD 和仅表单)时,它会使所有输入字段成为文本字段。因此默认的gii CRUD和表单生成器在生成代码时不会考虑关系。
我们必须手动更改 View 文件,即相关模型的 _form.php,对您来说就是 Event。
因此,根据您的要求,您可以对该文件进行以下更改:

/* As you have 'venue' field as the foreign key in the Event model */
<div class="row">
<?php echo $form->labelEx($model, 'venue'); ?>
<?php echo $form->dropDownList($model,'venue', CHtml::listData(Venue::model()->findAll(),
'id', //this is the attribute name(of Venue model- could be the id of the venue) for list option values
'name' // this is the attribute name(of Venue model- could be the name of the venue) for list option texts
)
); ?>
<?php echo $form->error($model,'venue'); ?>
</div>

要进行进一步的更改/自定义,请阅读有关 CActiveForm 的更多信息.
希望这会有所帮助。

关于yii - Yii 的 Gii 的 CRUD 生成器是否考虑了模型的关系?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9146309/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com