Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/visual-studio-2012/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
CakePHP1.3:选择框的奇怪行为。查找列表不';我不工作,发现所有的工作都很奇怪_Cakephp_Cakephp 1.3 - Fatal编程技术网

CakePHP1.3:选择框的奇怪行为。查找列表不';我不工作,发现所有的工作都很奇怪

CakePHP1.3:选择框的奇怪行为。查找列表不';我不工作,发现所有的工作都很奇怪,cakephp,cakephp-1.3,Cakephp,Cakephp 1.3,表Cs_grpusu指定了我办公室的区域。表用户有一个Cs_grpusu的外键 Cs_grpusu模型(Cs_grpusu.php): 现在,我将把这些区域放在我的User add.ctp视图表单中: echo $form->input('area',array('type' => 'select','options'=>$group)); 到现在为止,我觉得还可以。现在问题来了。如果在我的用户控制器中,我以以下方式填写“组”: $this->set('grupos',

表Cs_grpusu指定了我办公室的区域。表用户有一个Cs_grpusu的外键

Cs_grpusu模型(Cs_grpusu.php):

现在,我将把这些区域放在我的User add.ctp视图表单中:

echo $form->input('area',array('type' => 'select','options'=>$group));
到现在为止,我觉得还可以。现在问题来了。如果在我的用户控制器中,我以以下方式填写“组”:

$this->set('grupos',$this->User->Cs_grpusu->find('all'));
我的选择框选项变得像这样奇怪(在调试过程中,我得到了下面将描述的错误):

现在,如果我尝试像这样填充组变量:

$this->set('grupos',$this->User->Cs_grpusu->find('list', array('fields'=>array('Cs_grpusu.grpusu','Cs_grpusu.desgrp'))));
“我的选择”框中未显示任何选项,我还收到以下错误:

Notice (8): Undefined index: cs_grpusu [CORE\cake\libs\model\datasources\dbo\dbo_firebird.php, line 455]

CONTEXT

$results    =   resource
$num_fields =   2
$index  =   1
$j  =   0
$column =   array(
    "GRPUSU",
    "name" => "GRPUSU",
    "GRPUSU",
    "alias" => "GRPUSU",
    "CS_GRPUSU",
    "relation" => "CS_GRPUSU",
    "2",
    "length" => "2",
    "SMALLINT",
    "type" => "SMALLINT"
)

CODE:

$column = ibase_field_info($results, $j);
            if (!empty($column[2])) {
                $this->map[$index++] = array(ucfirst(strtolower($this->modeltmp[strtolower($column[2])])), strtolower($column[1]));
那么,我应该怎么做才能使我的选择框只包含选项“接收,预算…”,没有那些奇怪的数字,并且没有未定义的索引错误


谢谢

将模型类命名为“Cs_grpusu”是您犯的第一个错误,它应该是“CsGrpusu”。所有的类名都用CakePHP封装。阅读有关文件和类命名约定的信息。

好的,谢谢!我更改了它,但是现在我得到了错误“error:Database table cs_grpusus for model CsGrpusu找不到”。尽管我在模型中使用了“var$useTable='cs_grpusu';”。我是否应该更改其他内容?这意味着您的模型文件名或类名仍然不符合约定,并且您的类没有被加载。如果您进行
debug(get_class($this->CsGrupusu))在您的控制器中,它将给出输出“AppModel”,而不是预期的模型名“CsGrupusu”。请确保您在用户模型和其他地方的关联中也修复了类名。如果我将模型文件名用作CsGrupusu.php,则useTable将被忽略。但是如果我使用cs_grpusu.php,则使用useTable。因此,我想在我的例子中,cs_grpusu.php应该是正确的选择,不是吗?如果你真的阅读了我上面链接的手册页面,你的问题的答案将是显而易见的。对不起,伙计,我不打算在这里重复手册中已经有的内容。
$this->set('grupos',$this->User->Cs_grpusu->find('all'));
$this->set('grupos',$this->User->Cs_grpusu->find('list', array('fields'=>array('Cs_grpusu.grpusu','Cs_grpusu.desgrp'))));
Notice (8): Undefined index: cs_grpusu [CORE\cake\libs\model\datasources\dbo\dbo_firebird.php, line 455]

CONTEXT

$results    =   resource
$num_fields =   2
$index  =   1
$j  =   0
$column =   array(
    "GRPUSU",
    "name" => "GRPUSU",
    "GRPUSU",
    "alias" => "GRPUSU",
    "CS_GRPUSU",
    "relation" => "CS_GRPUSU",
    "2",
    "length" => "2",
    "SMALLINT",
    "type" => "SMALLINT"
)

CODE:

$column = ibase_field_info($results, $j);
            if (!empty($column[2])) {
                $this->map[$index++] = array(ucfirst(strtolower($this->modeltmp[strtolower($column[2])])), strtolower($column[1]));