小编jmb*_*cci的帖子

使用多个AND运算符的Zend_Db的复杂WHERE子句

我想在Zend_Db中生成这个复杂的WHERE子句:

SELECT * 
FROM 'products' 
WHERE 
    status = 'active' 
    AND 
    (
        attribute = 'one' 
        OR 
        attribute = 'two' 
        OR 
        [...]
    )
;
Run Code Online (Sandbox Code Playgroud)

我试过这个:

$select->from('product');
$select->where('status = ?', $status);
$select->where('attribute = ?', $a1);
$select->orWhere('attribute = ?', $a2);
Run Code Online (Sandbox Code Playgroud)

那产生了:

SELECT `product`.* 
FROM `product` 
WHERE 
    (status = 'active') 
    AND 
    (attribute = 'one') 
    OR 
    (attribute = 'two')
;
Run Code Online (Sandbox Code Playgroud)

我确实找到了一种方法来完成这项工作,但我觉得通过先使用PHP组合"OR"子句然后使用Zend_Db where()子句将它们组合起来,这有点"作弊".PHP代码:

$WHERE = array();
foreach($attributes as $a):
    #WHERE[] = "attribute = '" . $a . "'";
endforeach;
$WHERE = implode(' OR ', $WHERE);

$select->from('product');
$select->where('status …
Run Code Online (Sandbox Code Playgroud)

php sql zend-framework zend-db

15
推荐指数
2
解决办法
1万
查看次数

在Ubuntu的Cron工作

这应该是非常直接的,但我似乎无法让它工作,尽管通过谷歌,Stackoverflow和手册页阅读了几个教程.

我创建了一个每1分钟运行一次的cron(用于测试),所有它基本上都是吐出日期.

crontab -l
* * * * * /var/test/cron-test.sh
Run Code Online (Sandbox Code Playgroud)

cron-test文件是:

echo "$(date): cron job run" >> test.log
Run Code Online (Sandbox Code Playgroud)

等待很多分钟,我从未看到过test.log文件.

我可以手动调用"test.sh"并将其输出并追加.

我想知道我错过了什么?我也是这样做的.我想知道我是否错过了解根的位置?我的路径搞砸了,因为它附加了某种主目录吗?

谢谢!


更新-----------------

看来我没有跟踪目录路径.如果我将目录更改为root的主目录:

# cd
Run Code Online (Sandbox Code Playgroud)

我看到我的输出文件"test.log",每分钟打印出所有日期.

所以,我会更新我的问题,我错过了什么 - 理解/路径?我需要使用一个术语来从根目录开始吗?

干杯!

更新2 -----------------

好的,所以我得到了我所缺少的东西.

设置crontab的脚本工作正常.它找到了相对于根目录的文件.即:

* * * * * /var/test/cron-test.sh
Run Code Online (Sandbox Code Playgroud)

但是"cron-test.sh"文件没有相对于根目录设置.因此,当"root"运行脚本时,它会将其转储回"root"的主目录.我的想法是,由于脚本在"/ var/test /"中运行,文件也会被转储到"/ var/test /"中.

相反,我需要在脚本文件中设置位置以正确地转储它.

echo "$(date): cron job run" >> /var/test/test.log
Run Code Online (Sandbox Code Playgroud)

这很有效.

linux ubuntu cron crontab

2
推荐指数
1
解决办法
3399
查看次数

标签 统计

cron ×1

crontab ×1

linux ×1

php ×1

sql ×1

ubuntu ×1

zend-db ×1

zend-framework ×1