小编kK-*_*orm的帖子

如何排序数组保留其初始状态

在这里使用CakePHP 2.0.标题有点误导,所以为了清理 - 我有会话数组,当用户将它们添加到购物车时,它会填充产品的ID.所以这个数组就像[0] => 25,[1] => 70等.假设这个数组叫做$ products.

我想问的是,有一些可能通过使用'find'模型的函数('conditions'=> array('Product.id'=> $ products))来获得数组,而不是通过一些模型进行排序.field值(如'order'选项),但是通过$ products数组索引,这样当我在视图中呈现产品内容时,我会将购物车中的所有产品按照用户添加它们的顺序排序.

这是一个例子 - Session数组$产品:

[0] => 35,
[1] => 15,
[2] => 25
Run Code Online (Sandbox Code Playgroud)

然后我将这个数组传递给find函数的条件:

$list = $this->Product->find('all', array('conditions' => array('Product.id' => $products)));
Run Code Online (Sandbox Code Playgroud)

最后$ list给出了按product.id排序的数组.所以不要:

[0] => Array
    (
        [Product] => Array
            (
                [id] => 35 )),
[1] => Array
        (
            [Product] => Array
                (
                    [id] => 15 )),

[2] => Array
        (
            [Product] => Array
                (
                    [id] => 25 ))
Run Code Online (Sandbox Code Playgroud)

我明白了:

[0] => Array
    (
        [Product] => …
Run Code Online (Sandbox Code Playgroud)

php cakephp

10
推荐指数
1
解决办法
350
查看次数

以干净的方式查看变量内容

所以我用来查看变量内容的方法是在我的模板工具包中使用Data :: Dumper:

[% USE Dumper %]
[% Dumper.dump(varname) %]

但是我得到的结果有点乱 - 关于表关系,列类型和attrbitues等的所有信息.

我想知道是否有一种方法可以获得一个"干净"的变量内容 - 因为只有来自查询的当前结果+相关的结果集(即当我使用带有cakephp框架的php时,有一个'debug(varname)'命令提供了这样的结果,看起来像这样http://pastebin.com/Hut0LnAb).

perl catalyst template-toolkit

6
推荐指数
1
解决办法
221
查看次数

格式化TemplateToolkit中输出的时间戳字段

我正在使用Perl和Catalyst框架,DBIx类作为ORM,TT作为视图,Postgresql作为DB.

我有一个带有'timestamp without timezone'类型的列,如果我在Postgres中进行手动查询,则列值是这样的格式2012-08-30 21:30:14,但是当我在TT视图文件中打印该值时,我得到它2012-08-30T15:03:13,所以很明显它会被格式化但是通过我究竟无法分辨的.

我想使用Template :: Plugin :: Date格式化输出时间戳,但我得到Catalyst错误:

无法渲染模板"xxx/list.tt2:日期错误 - 错误的时间/日期字符串:期望'h:m:sd:m:y'得到:'2012-08-30T21:28:22'"

代码在xxx/list.tt2中 [% date.format(xxx.created) %]

那么我该如何让它发挥作用呢?提前致谢.

postgresql perl catalyst template-toolkit dbix-class

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