- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我使用 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/
我总是设置表前缀 - 对于这篇文章,可以说我的前缀是 abc_ . 所以在 common\config\main-local.php .我有: 'components' => [ 'db' => [
我正在学习 Yii,我想知道我是否使用 Gii 生成模型和 CRUD 文件,然后我手动修改了这些文件,然后我更改了数据库,我应该再次运行 Gii 吗?它会覆盖我在模型文件中的更改吗?如果是这样,更新我
我正在使用 Yii 并且有一个插件 YiiExcel。加载此插件时,Gii 不起作用。我的 index.php //do not run app before register YiiExcel au
我正在研究使用 Gii 生成模型的 Yii2。我想做的是自定义我的模型,使它们都具有以下功能 public static function getFoobarList() { $models
这个问题在这里已经有了答案: does gii automatically create relations for generated models? (2 个答案) 关闭 9 年前。 我是 Yi
我正在使用 PHP Yii Framework 开发网站,我现在正在堆栈中,我需要启动 gii,但我无法执行此操作。当我输入 www.example.com/index.php/gii 或 www.e
我正在为我的项目使用 Yii 1.13 框架,我需要“gii”代码生成器,但我想将其限制为仅供管理员用户使用,我该如何实现? 最佳答案 按照以下步骤操作:- 从 system.gii 复制 gii 模
我刚刚使用 Gii 生成了一个名为 gig 的新模块。使用 Gii 生成模块代码后,我更新了 config/main.php 文件以包含“gig”模块,如下所示: 'import'=>array(
嗨,我从来没有遇到过这种类型的问题。当我做错时请澄清我。我试图生成 2 个有关系的模型,但它没有出现在模型中。这是 Db 结构。 CREATE TABLE IF NOT EXISTS `propert
我想按照我自己的模板更改 Gii 模板,我在其中找到了要更改的代码 ....成为我自己的模板风格?? 我已经按照我的风格更改了大部分 gii 模板样式,但我还没有找到更改“div”错误消息的行:fra
我是 yii 框架的新手。在我的站点 gii 中显示错误 错误 403您无权访问此页面。 我在配置文件中这样设置gii 'gii'=>array( 'class'=>'system.gii.G
首先,我的详细信息(我尽量包括在内): PHP 5.6.14 Oracle DB11G Enterprise Edition 11.2.0.1.0(本地安装,默认localhost设置) window
到处找这个,一无所获。 我正在使用 Yii2 的迁移来为 RBAC 添加数据库表,它们创建得很好,仔细检查了所有内容,一切都很好。 我知道你可以用 $author = $auth->createRol
我正在使用 gii 生成器来创建一个模块。 问题是当我尝试为该模块创建表单或某个模型时...... 我不能告诉它在那个模块中生成这些文件......它只在主应用程序文件夹中生成。 有任何想法吗? 谢谢
我有三个模型:Person、Feature 和 PersonFeature。 PersonFeature 是一个具有两个外键的联结表,person_id 引用 person 表中的 id,featur
我正在尝试使用 Yii 的自动代码生成工具 Gii,但它试图引用一堆不存在的 CSS 和 JS 文件。我从头开始尝试多次并每次都设置权限。似乎没有生成文件,但是,确实生成了神秘的命名文件夹。我怎样才能
我正在一个 IP 地址为“xxx.xxx.x.x”的系统中开发一个项目“演示”,该系统来自另一个具有不同 IP 地址的系统。当我尝试使用 gii 时,我收到权限错误。我如何设置在单独的系统中使用gii
当我尝试使用 Gii Controller 生成器时,我得到: file_put_contents(.../gii-1.1.14/ControllerCode.php): failed to open
情况: 昨天我使用 gii 为我的数据库表 (mysql) 生成代码。我意识到我的表需要一个新字段。 问题: 在数据库表中添加新字段的约定是什么?在 mysql 中手动添加新表后,是否有我需要做的事情
在查看其他人的代码、指南、教程等时,我还没有在网上看到过这个。 当我用 Gii 生成模型时,关于关系的函数后面都有一个零。 示例: class Benefit extends \yii\db\Acti
我是一名优秀的程序员,十分优秀!