doujing5726 2015-01-30 08:50 采纳率: 0%
浏览 28
已采纳

使用模型在CakePHP中创建两个表之间的关系来编写更少的代码

I try to say just CkMmUsersKta.user_id=CkSetupUser.id and define relationship between 2 tables in CakePhp. I defined models and called models in function in controller but says Undefined index for

$c['CkSetupUser']['user_name']

CakePHP's Notice (8): Undefined index: CkSetupUser [APP\Controller\RealsController.php, line 67]

my controller:

class RealsController extends AppController {

   public $helpers = array('Html', 'Form');
   public $uses =array('CkMmUsersKta','CkSetupUser');

  public function index(){
   $this>loadModel('CkMmUsersKta');$this>loadModel('CkSetupUser');

   ini_set('memory_limit', '2000M');

   $cs=$this->CkMmUsersKta->find("all",array('fields'=>array('CkMmUsersKta.id')));

      foreach($cs as $c):
        echo $c['CkMmUsersKta']['id'].$c['CkSetupUser']['user_name']."<br />";
      endforeach;
   set_time_limit(0); 
   }
}

my CkSetupUser model:

    public $hasMany = array(
        'CkMmUsersKta' => array(
            'className'     => 'CkMmUsersKta',
            'foreignKey'    => 'user_id',
            'dependent'     => true
        )

    );

my CkMmUsersKta model:

    public $belongsTo = array(
        'CkSetupUser' => array(
            'className'    => 'CkSetupUser',
            'foreignKey'    => 'user_id'
        )

    );
  • 写回答

1条回答 默认 最新

  • dsigg21445 2015-01-30 09:15
    关注

    The problem is that you are fetching only id field in:

    $cs=$this->CkMmUsersKta->find("all",array('fields'=>array('CkMmUsersKta.id')));

    You should specify the name field also.

    $cs=$this->CkMmUsersKta->find("all",array('fields'=>array('CkMmUsersKta.id','CkSetupUser.user_name')));

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

悬赏问题

  • ¥20 求数据集和代码#有偿答复
  • ¥15 关于下拉菜单选项关联的问题
  • ¥15 如何修改pca中的feature函数
  • ¥20 java-OJ-健康体检
  • ¥15 rs485的上拉下拉,不会对a-b<-200mv有影响吗,就是接受时,对判断逻辑0有影响吗
  • ¥15 使用phpstudy在云服务器上搭建个人网站
  • ¥15 应该如何判断含间隙的曲柄摇杆机构,轴与轴承是否发生了碰撞?
  • ¥15 vue3+express部署到nginx
  • ¥20 搭建pt1000三线制高精度测温电路
  • ¥15 使用Jdk8自带的算法,和Jdk11自带的加密结果会一样吗,不一样的话有什么解决方案,Jdk不能升级的情况