我正在为一个电子商务项目学习 yii 框架,到目前为止它进展顺利。我有一个房地产附加表格,该表格是使用数据库生成的。下面的代码生成表单 (/views/ad/_form),并为输入字段命名,例如 detail["ad-title"]、detail["ad-image"] 等。
<?php
$connection = Yii::app()->db;
$command = $connection->createCommand("SELECT * FROM eml_ozellikler");
$options = $command->queryAll();
$command = $connection->createCommand("SELECT * FROM eml_kurallar");
$rules = $command->queryAll();
$i = 0;
foreach($options as $option){
echo '<div class="row">';
echo $form->labelEx($model, 'detail["'.$option['name'].'"]');
switch($option['tur']){
case "textfield":
echo $form->textField($model, 'detail["'.$option['name'].'"]');
break;
case "textarea":
echo $form->textArea($model, 'detail["'.$option['name'].'"]', array('rows'=>'5','cols'=>'40'));
break;
case "integer":
echo $form->textField($model, 'detail["'.$option['name'].'"]');
break;
case "selectbox":
CHtml::dropDownList($option['label'], 'detail["'.$option['name'].'"]', $rules[$i]['values']);
break;
case "radio":
break;
case "file":
echo $form->fileField($model, 'detail["'.$option['name'].'"]');
break;
case "image":
break;
}
echo $form->error($model,'detail["'.$option['name'].'"]');
echo '</div>';
$i++;
}
?>
问题是在给他们规则的时候。规则只是为了寻找,当我添加到规则时
array('detay["ad-title"]', 'required'),
然后,该字段是必需的并获得 (*)。但是当我提交表单时,它会给出一个错误,说“Ad.detail [“ad-title”]”值未定义。
没有规则,我可以使用 $_POST['Ad']['detail']["ad-title"] 等正确发布和获取发布的值。
还; 我检查了 Yii 框架文档,但除了表格输入和表单生成器之外找不到任何有用的东西,而且我无法在我的代码中实现它。因为我不想在我的模型中创建变量,我只想使用一个变量和规则发送数据。
谢谢,çağlar。