未检索到cakePHP 2.0关联模型数据

未检索到cakePHP 2.0关联模型数据,cakephp,model,Cakephp,Model,我有两张桌子,民兵和禁令。民兵可以有许多禁令,禁令只属于一个民兵。我在模型中设置了这些,但当我为民兵组织召集“全部查找”时,禁令并没有取消 民兵模型 class Militia extends AppModel { public $belongsTo = array( 'User' => array( 'className' => 'User', 'foreignKey' => 'user_id'

我有两张桌子,民兵和禁令。民兵可以有许多禁令,禁令只属于一个民兵。我在模型中设置了这些,但当我为民兵组织召集“全部查找”时,禁令并没有取消

民兵模型

class Militia extends AppModel {
    public $belongsTo = array(
        'User' => array(
            'className'    => 'User',
            'foreignKey'   => 'user_id'
        )
    );

    public $hasMany = array(
        'Injunction' => array(
            'className'     => 'Injunction',
            'foreignKey'    => 'militia_id'
            //'conditions'    => array("not" => array('Injunction.removed' => null))
        )
    );
}
class Injunction extends AppModel {
    public $belongsTo = array(
        'Militia' => array(
            'className'    => 'Militia',
            'foreignKey'   => 'militia_id'
        )
    );
}
禁令模式

class Militia extends AppModel {
    public $belongsTo = array(
        'User' => array(
            'className'    => 'User',
            'foreignKey'   => 'user_id'
        )
    );

    public $hasMany = array(
        'Injunction' => array(
            'className'     => 'Injunction',
            'foreignKey'    => 'militia_id'
            //'conditions'    => array("not" => array('Injunction.removed' => null))
        )
    );
}
class Injunction extends AppModel {
    public $belongsTo = array(
        'Militia' => array(
            'className'    => 'Militia',
            'foreignKey'   => 'militia_id'
        )
    );
}
以及获取民兵成员的查询

$user = $this->Session->read("User");

        $militias = $this->Militia->find('all',
            array(
                'conditions'=>array(
                    "Militia.user_id"   => $user['User']['id'],
                    "Militia.deleted"   => 0
                )
            )
        );
输出

    /app/Controller/UsersController.php (line 41)
array(
    (int) 0 => array(
        'Militia' => array(
            'id' => '26',
            'first_name' => 'Chris',
            'last_name' => 'Morris',
            'created' => '2013-02-11 13:45:24',
            'user_id' => '2',
            'status' => '1',
            'deleted' => '0'
        )
    ),
    (int) 1 => array(
        'Militia' => array(
            'id' => '31',
            'first_name' => 'John',
            'last_name' => 'Smith',
            'created' => '2013-02-11 14:03:50',
            'user_id' => '2',
            'status' => '0',
            'deleted' => '0'
        )
    ),
    (int) 2 => array(
        'Militia' => array(
            'id' => '32',
            'first_name' => 'test',
            'last_name' => 'user',
            'created' => '2013-02-11 14:21:38',
            'user_id' => '2',
            'status' => '0',
            'deleted' => '0'
        )
    ),
    (int) 3 => array(
        'Militia' => array(
            'id' => '33',
            'first_name' => 'test',
            'last_name' => 'user',
            'created' => '2013-02-11 14:24:02',
            'user_id' => '2',
            'status' => '1',
            'deleted' => '0'
        )
    )
)
我以前在其他项目上也做过同样的事情,但由于某种原因,这一次没有提取相关数据。这可能是打字错误之类的愚蠢行为,但我一直在寻找和测试,没有发现任何错误

  • 检查ORM(hasOne、hasMany、belongsTo、hasAndBelongsToMany)定义
  • 检查外键ID是否设置正确
  • 检查表及其相关表中是否有数据
  • 检查“无条件查找”的结果
  • 检查递归级别是否大于0
  • 若要排除旧的缓存查询问题,请将调试级别设置为更高的0
  • 查看sql转储的底部部分,查看触发的是什么查询,如果感觉正常,请尝试从Cake/Php中使用sql执行相同的查询

  • 您试图执行哪个查询来检索数据?显示find语句
    $user=$this->Session->read(“user”);$militias=$this->militias->find('all',array('conditions'=>array(“millitials.user\u id”=>$user['user']['id'],“millitials.deleted”=>0))我本以为这会管用。您是否尝试过使用可容纳行为?
    民兵
    应称为
    民兵控制器
    民兵
    。也可以尝试在没有条件的情况下进行查找。您试图访问的民兵组织可能没有任何禁令。在这种情况下,它也可能是空的。你用的是什么版本的蛋糕?我假设是2.3.0?