我想知道,是否有一个函数可以让我立即检查数据库中的记录是否存在?
现在我正在使用以下代码来检测记录是否存在,但我可以想象有一种更简单/更好的方法.
$conditions = array(
'conditions' => array(
'User.id' => $this->Session->read('User.id'),
'User.activation_key' => $this->Session->read('User.key')
)
);
$result = $this->User->find('first', $conditions);
if (isset($result['User'])){
//do something
}
Run Code Online (Sandbox Code Playgroud)
是否有类似的东西:
$conditions = array(
'conditions' => array(
'User.id' => $this->Session->read('User.id'),
'User.security_key' => $this->Session->read('User.key')
)
);
if ($this->User->exists($conditions)){
//do something
}
Run Code Online (Sandbox Code Playgroud)
好的,是的.它被称为exists(),但我需要相同,但有参数,所以我可以添加自己的条件进行检查.
我搜索过谷歌,但我找不到任何关于此的话题.好吧,很多关于php和mysql,但不是关于cakephp.我需要一个蛋糕特定的答案.
谢谢你的时间 :)
我有一个文件script.js.php.它包含PHP和JavaScript代码(js取决于php).它将作为js文件包含在页面中.
<script type="text/javascript" src="script.js.php"></script>
Run Code Online (Sandbox Code Playgroud)
script.js.php的示例
<?php
require_once 'functions.php'
?>
var vars = {
var1: 'value1',
var2: 'value2',
var2: '<?php echo phpFunction(); ?>'
}
Run Code Online (Sandbox Code Playgroud)
有谁知道,是否有可能PhpStorm在不使用script-tag的情况下在PHP文件中制作高亮的JavaScript代码?
也许有某种伪标签不会影响最终的html/js,但会使PhpStorm hightlight代码"正常",例如
<!-- <section language="javascript">-->
js goes here
<!-- </section> -->
Run Code Online (Sandbox Code Playgroud) 我知道有关于这个主题的其他几个主题,但它们似乎不符合我的需要.
是)我有的
我有LogsController而不是LogController(复数),因为CakePHP希望你有多个控制器.
但正如你可能知道/注意的那样,example.com/log/永远不要使用,LogsController因为网址中缺少's'.
现在,我希望/log/*被重定向到/logs/*.使用以下代码完美地工作:
Router::connect ('/log/*', array('controller'=>'logs'));
Run Code Online (Sandbox Code Playgroud)
但是,当我尝试访问example.com/log/actions/foo/bar它似乎不起作用.所以在一些Googeling之后我发现了这个:
Router::connect ('/log/:action/*', array('controller'=>'logs'));
Run Code Online (Sandbox Code Playgroud)
效果很好.但现在,当我试图再次访问example.com/log/时,它说
错误:找不到LogController.
问题
所以我的问题是,如何为我的网址设置别名,以便/log/使用LogsController而不是尝试使用LogController.
我还有一些控制器,我想改变它,比如flight => FlightsController,profile => ProfilesController.
看看这个问题.它是关于同一主题,但略有不同.它可能会以某种方式帮助你.
我试图从控制器中的两个不同的数据库中获取数据
应用程序/控制器/ UsersController.php
我的数据库连接在database.php中声明
$default = array(
...
'database' => 'test'
...
);
$test = array(
...
'database' => 'test1'
...
);
Run Code Online (Sandbox Code Playgroud)
在我的display()行动中:
public function display() {
$this->set('defaultUsers', $this->User->find('all'));
$this->User->schemaName = 'test1';
$this->User->cacheQueries = false;
$this->set('testUsers', $this->User->find('all'));
}
Run Code Online (Sandbox Code Playgroud)
这将允许我成功地从两个不同的源获取数据,但问题是这两个数据库必须具有相同的密码,否则它将无法工作.
我尝试过在这里和其他网站找到的其他解决方案.喜欢:
改变$this->User->useDbConfig = 'test',$this->User->cacheQueries = false仍然会给我相同的数据集;
使用ConnectionManager::getDataSource()和setConfig(),create(),drop(),setDataSource()那些等没有工作,有的甚至不存在了.
任何帮助将不胜感激!因为我需要为两个类似的应用程序(即两个数据库)使用相同的代码库.
谢谢!
题
在使用Exchange WebServices API时,如何通过对话对各个电子邮件进行分组,以便我确定(100%)一封电子邮件与另一封电子邮件在同一个对话中?
个人意思是:我应该能够一次下载1封电子邮件,因为当发送延迟回复时(比如上个月回复电子邮件),我不想批量下载整个会话再次,但只有一封电子邮件能够将其存储在我自己的数据库中.
上下文
我正在开发一个项目,我需要将所有新鲜的电子邮件放在MySQL数据库中,以便我们可以从CRM应用程序中添加额外的元数据.现在我正在使用基于XML的Exchange WebServices API进行一些原型设计,以便我知道哪些数据可用以及它们是什么样的.我在PHP中这样做(也是我们的CRM内置的语言).
问题
运行简单的XML请求(见下文)时,我会收到来自inbox/sentitems文件夹的一些电子邮件.由于我知道我与同事进行了对话以测试ConversationIndex我发现ConversationIndex似乎不像我预期的那样是一个索引.我希望它在所有电子邮件中都是平等的,这样我就可以轻松地将一个对话组合在一起.
但这似乎不是真的.因为当我将我的收件箱和snetitems(一个对话)的ConversationIndexs放在一起时,我得到以下结果:(--> sentitem, <-- inbox)
Ac9IKUBx8yX3vSXYQSWcb8ggCfC7FQ==(first sentitem)Ac9IKUBx8yX3vSXYQSWcb8ggCfC7FQAAAT1A(回复1)Ac9IKUBx8yX3vSXYQSWcb8ggCfC7FQAAAT1AAAAHYQA=(回复2)Ac9IKUBx8yX3vSXYQSWcb8ggCfC7FQAAAT1AAAAHYQAAAAScMA==(回复3)Ac9IKUBx8yX3vSXYQSWcb8ggCfC7FQAAAT1AAAAHYQAAAAScMAAACBsQ(回复4)Ac9IKUBx8yX3vSXYQSWcb8ggCfC7FQAAAT1AAAAHYQAAADX4EA==(回复5)Ac9IKUBx8yX3vSXYQSWcb8ggCfC7FQAAP7ZQ(回复1)ConversationIndex的其他对话示例: Ac9IB53hRlE85QAKR9qCJ8pbv8gikwAAtByQ
正如您所看到的,每个电子邮件的ConversationIndex更改除了前30个字符.通过查阅这个问题的答案我发现的另一件事是我应该使用BitConverter并修改ConverationIndex,但那是C#.我也找不到这方面的PHP解决方案.
另外,我在EWS文档中找不到关于此主题的任何信息(例如:http://msdn.microsoft.com/en-us/library/ms528174(v = exchg.10).aspx).
可能的选择
我References在Exchange服务器的XML响应中看到了一个键,但使用这些InternetMessageId键来确定电子邮件所在的对话将成为一个真正的地狱.
我注意到的另一件事是ConversationId(http://msdn.microsoft.com/en-us/library/ff387041%28v=office.12%29.aspx),但这似乎不是我所寻求的.
XML请求,仅供参考
<?xml version="1.0" encoding="utf-8"?>
<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"
xmlns:t="http://schemas.microsoft.com/exchange/services/2006/types">
<soap:Body>
<FindItem …Run Code Online (Sandbox Code Playgroud) .box {
width: 100px;
height: 100px;
background: blue;
}
.circle {
margin-top: 20px;
width: 80px;
height: 80px;
border-radius: 100%;
background: red;
opacity: 0;
transition: opacity 0.5s ease;
}
.box:hover + .circle {
opacity: 1;
}
Run Code Online (Sandbox Code Playgroud)
<body>
<div class="box">
</div>
<div class="circle">
</div>
</body>Run Code Online (Sandbox Code Playgroud)
在这里,当我将鼠标悬停在 上时.box,.circle会在 0.5 秒内淡入。
现在,当我将光标从 移开时.box,我想.circle以不同的速度(例如 1 秒)淡出。如何实现?
可能重复:
新的Mysqli对象为空
我刚刚开始为我的MVC框架构建我的数据库类.在构建这个时,我正在尝试简单的查询和表格,以使其正常工作.
我试图查询以下内容:
SELECT*FROM mvc_test
这应该返回3行:
1 | 测试
2 | TEST2
3 | TEST3
我使用以下方法来查询:
<?php $this->result = $this->conn->query($this->q); ?>
Run Code Online (Sandbox Code Playgroud)
$ this-> conn的位置是:
<?php
$this->conn = new mysqli($this->reg->conf->database['host'],
$this->reg->conf->database['user'],
$this->reg->conf->database['password'],
$this->reg->conf->database['database']);
?>
Run Code Online (Sandbox Code Playgroud)
其中$ this-> reg-> conf-> database包含主机,数据库等的所有值.这有效,我有一个连接.
现在,当我var_dump结果如下:
<?php var_dump($this->result); ?>
Run Code Online (Sandbox Code Playgroud)
我明白了:
对象(mysqli_result)[9]
public'current_field'=> null
public'field_count'=> null
public'length'=> null
public'num_rows'=> null
public'type'=> null
但是,如前所述它应至少包含3行,所以我希望num_rows为'3'.
现在,当我var_dump结果的num_rows时,如下所示:
<?php var_dump($this->result->num_rows); ?>
Run Code Online (Sandbox Code Playgroud)
我得到一个'int 3'作为回应.
结论:在第一个var_dump中它是null,但是通过更深入的检查我得到3.所以它读取3行.当我添加另一行(第4行)时,它会按预期返回4.
我的问题是:为什么var_dump不能正常工作?为什么一开始就说null,但是通过更深入的检查确实有一个值.
在此先感谢,我真的很挣这个,因为我也没有任何错误.