首页 / PHP / 命名约定并加入CakePHP
命名约定并加入CakePHP
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了命名约定并加入CakePHP,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含1401字,纯文字阅读大概需要3分钟。
内容图文
![命名约定并加入CakePHP](/upload/InfoBanner/zyjiaocheng/688/d78f1ffea2c444ee98fff50582eae41f.jpg)
就在几天前,我发现了一个叫做CakePHP的奇迹,所以我对此感到非常满意.
我需要构建一个邮件应用程序,因此我遵循了约定并创建了:
数据库说明:
用户表< user_id(主键),fname,lname>.
邮件表< mail_id(主键),从(外键到user_id),到(外键到user_id),内容,打开的>.
我的问题:
1)根据约定,外键应称为相关表“ _id”.如果有两个与同一个表相关的外键,我应该怎么称呼这些列.在邮件表中喜欢“从”和“到”.
2)我想做两个表之间的内部联接.
就像是:
SELECT user_id, mail_id
FROM users
INNER JOIN mails
ON users.user_id =mails.to AND mails.opened=false.
但是我不知道如何去做.
解决方法:
当您需要对同一张表进行两个关联时,您将需要覆盖默认约定.在您的示例中,我将创建2个外键.一个名为sender_id,一个名为收件人_id.然后,您可以像这样将他们加入模型:
<?php
class Mail extends AppModel {
//The Associations below have been created with all possible keys, those that are not needed can be removed
var $belongsTo = array(
'UserSender' => array(
'className' => 'User',
'foreignKey' => 'sender_id',
'conditions' => '',
'fields' => '',
'order' => ''
),
'UserRecipient' => array(
'className' => 'User',
'foreignKey' => 'recipient_id',
'conditions' => '',
'fields' => '',
'order' => ''
),
);
}
?>
然后按照您的条件进行操作,如下所示:
<?php
$this->Mail->find(array('conditions'=>array('Mail.opened'=>false)));
?>
…并根据发送者和接收者进行过滤,您的情况如下所示:
<?php
$this->Mail->find(array('conditions'=>array('UserSender.some_field'=>$someValue,
'UserRecipient.some_field'=>$someValue)));
?>
内容总结
以上是互联网集市为您收集整理的命名约定并加入CakePHP全部内容,希望文章能够帮你解决命名约定并加入CakePHP所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。