gpt4 book ai didi

php - $belongsTo 关系不工作 cakephp 2.7.5

转载 作者:行者123 更新时间:2023-11-28 23:44:56 26 4
gpt4 key购买 nike

我正在尝试链接两个模型以在我的 cakephp 2.7.5 应用程序中工作。

问题是当我尝试添加一个新的“用户”时,表单不显示带有我创建的“Departamentos”选项的“选择”。

代码是:

app\Model\User.php

<?php

class User extends AppModel {
public $name = "User";
public $belongsTo = array('Departamento' => array('className' => 'Departamento', 'foreignKey' => 'departamento_id'));
...

app\Model\Departamento.php

<?php

class Departamento extends AppModel {

public $displayField = 'nombre';
public $name = "Departamento";
public $hasMany = array('User' => array('className' => 'User', 'foreignKey' => 'departamento_id'));

}

这是 MySQL 脚本:

create table users(
id int primary key auto_increment,
nombre varchar(200),
username varchar(20) not null,
password varchar(100) not null,
rol varchar(50) not null,
departamento_id int
);

create table departamentos(
id int primary key auto_increment,
nombre varchar(200) not null
);

我的 app\View\Users\add.ctp 代码:

echo $this->Form->create('User');
echo $this->Form->input('nombre', array('label' => 'Nombre Completo:'));
echo $this->Form->input('username', array('label' => 'Nombre de usuario:'));
echo $this->Form->input('password', array('type' => 'password', 'label' => 'Contraseña:'));
echo $this->Form->input('rol', array('label' => 'Rol del usuario:', 'type' => 'select', 'options' => array('ADMINISTRADOR' => 'Administrador', 'USUARIO' => 'Usuario')));
echo $this->Form->input('departamento_id', array('label' => 'Departamento:'));
echo $this->Form->end('Guardar');

我已将变形规则添加到我的西类牙语命名表中:

Inflector::rules('plural', array('irregular' => array('departamento' => 'departamentos')));

这是我的“添加用户”表单的屏幕截图,“Departamento”字段显示为空,但我的“Departamentos”表中有数据:

Add Form with empty field

谢谢

最佳答案

只需添加以下内容:

$this->set('departamentos',$this->User->Departamento->find('list',array('order'=>'nombre')));

在您的 UsersController::add() 函数中。 CakePHP 应该从 View 中的 $departamentos 变量自动创建 SELECT 选项。

关于php - $belongsTo 关系不工作 cakephp 2.7.5,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33763775/

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