【问题标题】:How to use sql 'between' command with CakePhp requestAction()如何在 CakePhp requestAction() 中使用 sql 'between' 命令
【发布时间】:2010-07-05 13:02:30
【问题描述】:

我有一个从 mysql 获取数据的元素。这是我的工作代码:

$this->requestAction('posts/index/sort:id/direction:desc');

我只想抓取 id 1 和 6 之间的帖子。如何通过 requestAction 运行该查询?我尝试过的一些脚本如下。没有工作:

$this->requestAction('posts/index/sort:id/direction:desc', array('id between ? and ?' => array('1,6')));

$this->requestAction('posts/index/sort:id/between:1,6/direction:desc');

您可以在http://bake.yemeklog.com/ 看到我的项目我想要此代码用于第三列(过去 30 天的最爱)

【问题讨论】:

    标签: cakephp cakephp-1.3


    【解决方案1】:

    如果我要通过requestAction (!) 调用它,那么我会在我的控制器中编写一个自定义方法,然后我可能会将两个 id 作为参数传递给该方法。

    然后您可以处理参数并制定您的查询。

    $this->Model->find('all', 'conditions' => array('id'=>array(1,2,3,4,5,6)));
    

    无论如何都不理想,但我不太确定我还能如何解决这类问题。

    如果是静态ID,那么可能

    $this->Model->find('all', null, null, 'order' => 'id ASC LIMIT 0,6');
    

    ** 现在我不确定这是否可行,因为我还没有尝试过,但我经常将这样的小东西入侵到 Cake 中并取得了一些成功。所以也许试一试,一定要设置debug = 2 这样你就可以看到查询,或者从 OhLo 获取 DebugKit

    PS,如果你写 requestAction 方法,不要忘记检查 $this->params['requested'] 是否为真,所以你知道它来自 requestAction

    【讨论】:

    • 嗨,大卫,感谢您的回复。我不知道它是否适合我。因为我的布局中有三列。每列都有不同的sql查询结果。当前脚本工作正常,预计 sql 介于两者之间。这是我的项目。看看我在说什么可能会有所帮助。 bake.yemeklog.com
    • 在这种情况下,我会为每一列使用一个元素,每个列都有一个特定的查找,然后将该数据作为参数传递到元素中:)
    • 哦,那我试试。但我对蛋糕真的很陌生,所以我从不想改变我习惯的任何结构:) 希望我能做到
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多