作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我想使用另一个名为 virtualwh 的表中的 ids 从 users 表中获取用户的详细信息。 users 表中显示的结果不是根据 virtualwh 中的获奖者 id 来显示的。
我创建了这两个表(Virtualwh和users)并使用belongsTo(virtualwh => users)进行关联链接。在 virtualwh 表上,每行有一列(称为 Winners,使用外键连接到 users 表),用于存储从另一个表中随机选择并包含的单个用户的 id。我试图获取 virtualwh 中的所有 id 并查询用户表以获取具有 id 的用户的详细信息,以便在页面中显示其所有详细信息。这就是我所做的,但没有起作用。这里有什么帮助吗?
/get winnerslist
$winners = $this->Virtualwarehouse->find('all', array('conditions'=>array('Virtualwarehouse.winner !=' => 'null')));
$winneroptions = array('conditions'=>array('User.id'=>$winners['Virtualwarehouse']['winner']), array('User.email','User.fname', 'User.path', 'User.pix'));
$winnersrecord = $this->Virtualwarehouse->User->find('all',$winneroptions);
$this->set('winnerslist',$winners);
print_r($winners);
用户表结构
DROP TABLE IF EXISTS `users`;
CREATE TABLE IF NOT EXISTS `users` (
`id` int(11) NOT NULL DEFAULT '0',
`path` varchar(20) DEFAULT NULL,
`pix` varchar(200) DEFAULT NULL,
`activation` varchar(32) NOT NULL,
`pass_token` varchar(45) DEFAULT NULL,
`status` int(2) DEFAULT NULL,
`role_id` int(20) DEFAULT NULL,
`fname` varchar(100) DEFAULT NULL,
`lname` varchar(100) DEFAULT NULL,
`gender` enum('Female','Male','Others','') DEFAULT NULL,
`email` varchar(50) DEFAULT NULL,
`phone_number` varchar(15) DEFAULT NULL,
`password` varchar(50) DEFAULT NULL,
`address` varchar(150) DEFAULT NULL,
`state` varchar(20) DEFAULT NULL,
`birthday` varchar(50) DEFAULT NULL,
`referer` varchar(200) DEFAULT NULL,
`created` datetime DEFAULT NULL,
`modified` datetime DEFAULT NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1;
虚拟wh表
DROP TABLE IF EXISTS `virtualwh`;
CREATE TABLE IF NOT EXISTS `virtualwh` (
`id` int(11) NOT NULL DEFAULT '0',
`ad_name` varchar(50) CHARACTER SET utf8 COLLATE utf8_unicode_ci NOT NULL,
`alignment` tinyint(4) NOT NULL COMMENT '1=top, 2=bottom',
`image` varchar(255) CHARACTER SET utf8 COLLATE utf8_unicode_ci NOT NULL,
`path` varchar(255) CHARACTER SET utf8 COLLATE utf8_unicode_ci NOT NULL,
`points` varchar(5) CHARACTER SET utf8 COLLATE utf8_unicode_ci NOT NULL DEFAULT '20',
`created` datetime NOT NULL,
`modified` datetime NOT NULL,
`status` tinyint(1) NOT NULL DEFAULT '1' COMMENT '1 = Active, 0 = Inactive',
`winner` int(11) DEFAULT NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1;
最佳答案
如果您想即时属于,请像这样使用
For cakephp 3.x
$this->Virtualwarehouse->belongsTo('User',[
'foreignKey' => 'winner',
'joinType' => 'INNER'
]);
$winners = $this->Virtualwarehouse->find('all', [
'contain'=>['User']
]);
$this->set('winnerslist',$winners);
print_r($winners);
For cakephp 2.x
$this->Virtualwarehouse->bindModel([
'belongsTo' => [
'User'=>[
'foreignKey' => 'winner',
'type'=>'INNER'
]
]
]);
$winners = $this->Virtualwarehouse->find('all');
$this->set('winnerslist',$winners);
print_r($winners);
关于php - 如何从 CakePHP 2.9 中的 ownTo 模型获取数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43471103/
我是一名优秀的程序员,十分优秀!