我试图在cakephp中绑定3个模型,关系如下
I am trying to bind 3 models in cakephp.The relation is as follows
Member hasMany Member_Organization Member_Organisations 属于组织
Member hasMany Member_Organaization Member_Organisations belongs to Organaization
我尝试使用
$this->Member->find('all',conditions)
$this->Member->find('all',conditions)
它只向我显示与 hasMany 关联相关的数据.我知道会员模型与组织模型没有直接关系.但是我们该怎么做呢?我的代码如下:
it just show me only data upto hasMany association. I understand that the Member model is not related directly to the organization one. but how can we do it? My code is as follows:
$this->Member->bindModel(
array(
'hasMany'=>array(
'NpoMember' =>array(
'className' => 'NpoMember',
'foreignKey' => 'member_id',
'conditions' => array('NpoMember.status' => 'Active'),
)
)
)
);
$this->NpoMember->bindModel(
array(
'belongsTo'=>array(
'Npo'=>array(
'className' => 'Npo',
'foreignKey' => 'npo_id',
'conditions' => array('Npo.status' => 'Active')
)
)
)
);
$userData = $this->Member->find('first',array('conditions'=>array('Member.email'=>$userEmail,'Member.password'=>$passWord,'Member.status'=>'Active')));
我发现这个网站非常有帮助.谢谢并恭祝安康喜满树夏尔马
I found this site to be very helpful. Thanks and Regards Himanshu Sharma
使用 recursive cakephp 功能来达到这种目的.
Use recursive the cakephp functionality for this type of purpose.
在您的控制器中:$this->Member->recursive = 2; 在查找查询之前使用它.
In your controller: $this->Member->recursive = 2; use this before your find query.
参考:http://book.cakephp.org/view/1063/recursive
这篇关于绑定多个模型 Cakephp的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持html5模板网!
不能使用 'Object 作为类名,因为它是保留的Cannot use #39;Object as class name as it is reserved Cake 2.2.x(不能使用 Object 作为类名,因为它是保留的 Cake 2.2.x)
OAuth 重定向后会话丢失Session is lost after an OAuth redirect(OAuth 重定向后会话丢失)
Cakephp 3.x 中的分页排序Pagination Sort in Cakephp 3.x(Cakephp 3.x 中的分页排序)
CakePHP 多个应用程序的共享核心CakePHP Shared core for multiple apps(CakePHP 多个应用程序的共享核心)
在 CakePHP 3 上登录 [ Auth->identify() ] 始终为 falLogin [ Auth-gt;identify() ] always false on CakePHP 3(在 CakePHP 3 上登录 [ Auth-identify() ] 始终为 false)
致命错误:允许的内存大小为 134217728 字节已用尽Fatal error: Allowed memory size of 134217728 bytes exhausted (tried to allocate 87 bytes)(致命错误:允许的内存大小为 134217728 字节已用尽