小编lin*_*ndy的帖子

CakePHP Model-> invalidate不显示错误

我目前正在beforeValidate()模型的回调中对表单进行一些额外的验证.

我有以下代码:

function beforeValidate(){
    $i = 0;
    foreach($this->data['CapitalCategory'] as $capital_category){
        if(!empty($capital_category['value'])){
            $this->invalidate('CapitalCategory.'.$i.'.points', 'error!');   
                return false;
            }

        $i++;
    }
    return true;
}
Run Code Online (Sandbox Code Playgroud)

我调试了所有内容,如果值存在,它会返回false.但是,表单重新加载,并且点输入下方没有显示任何消息!此外,如果我调试validationErrors,该数组包含需要显示的错误.可能是什么问题呢?

感谢任何帮助!

编辑

这是我构建输入的方式:

echo $this->Form->input('CapitalCategory.'.$i.'.value', array('label' => $category['Category']['name'], 'type' => 'text'));
        echo $this->Form->input('CapitalCategory.'.$i.'.points', array('label' => 'Puncte', 'type' => 'text'));
Run Code Online (Sandbox Code Playgroud)

我相信一个问题可能是我正在使用CapitalModel,其中除了CapitalModel的一些字段之外,我还使用了其相关模型CapitalCategorieModel中的几个字段.这可能是未将验证错误绑定到字段的问题吗?如果是,我该如何解决?

validation cakephp

8
推荐指数
1
解决办法
3709
查看次数

CakePHP保存了三个模型的关系关联

我有以下输出,我需要在数据库中插入:

Array
(
[Test] => Array
    (
    )

[Question] => Array
    (
        [0] => Array
            (
                [category_id] => 3
                [answer_style_id] => 2
                [Answer] => Array
                    (
                        [0] => Array
                            (
                                [capital_category_id] => 14
                                [correct] => 1
                            )

                       ...
         ...
Run Code Online (Sandbox Code Playgroud)

简而言之,每个测试都有很多问题,每个问题都有很多答案,每个相关模型都有一个需要由Cake设置的外键(每个问题都有一个test_id,每个答案都有一个question_id).

问题是,当我$this->Test->saveAll($data);,只有测试和问题得到保存,而不是答案.

如何保存所有数据,Cake自动为每个关联模型设置外键?

谢谢!

cakephp save

8
推荐指数
2
解决办法
3096
查看次数

MySQL:按连续日和计数组分组

我有一个数据库表,用于保存每个用户在城市中的签到.我需要知道用户在一个城市中已经过了多少天,然后知道用户对一个城市进行了多少次访问(访问包括在城市中连续几天的访问).

所以,考虑我有下表(简化,只包含DATETIMEs - 相同的用户和城市):

      datetime
-------------------
2011-06-30 12:11:46
2011-07-01 13:16:34
2011-07-01 15:22:45
2011-07-01 22:35:00
2011-07-02 13:45:12
2011-08-01 00:11:45
2011-08-05 17:14:34
2011-08-05 18:11:46
2011-08-06 20:22:12
Run Code Online (Sandbox Code Playgroud)

天该用户已被这个城市的数目将是6(30.06,01.07,02.07,01.08,05.08,06.08).

我想过这样做 SELECT COUNT(id) FROM table GROUP BY DATE(datetime)

然后,该用户已经到这个城市做出的访问次数,查询应该返回3(30.06-02.07,01.08,05.08-06.08).

问题是我不知道如何构建此查询.

任何帮助将非常感谢!

mysql datetime gaps-and-islands

8
推荐指数
1
解决办法
4667
查看次数

Atlassian Bamboo:如果对特定文件进行了更改,则不会触发构建

我在Bamboo中有一个计划,只要对附加的存储库进行更改(通过轮询)就会启动.

现在,在每个构建上,如果成功,则在repo中更新CHANGELOG文件,这反过来会触发另一个构建.如何从Bamboo的轮询中省略某些文件,以便在找到这些文件的更改时不启动构建?因为否则,我进入无限循环,改变CHANGELOG触发另一个构建,然后更新CHANGELOG等等.

如果不可能,还有哪些其他可行的解决方案?是否有可能在构建开始之前在某处附加shell脚本以检查是否需要启动新构建?

bamboo

8
推荐指数
1
解决办法
5788
查看次数

CSS特定类的第一个孩子

我有以下HTML代码:

<span class="ui-icon ui-icon-triangle-1-s"></span>
<span class="route-line">4</span>
<span class="route-line">33</span>
Run Code Online (Sandbox Code Playgroud)

我想补充的一些风格首先 span用class="route-line".CSS有可能吗?它是这样的nth-of-type; 如果它已经存在,它就会被召唤nth-of-type-with-class.

谢谢!

css

7
推荐指数
2
解决办法
3268
查看次数

在CakePHP中保存一个模型的多个记录

我想为一个模型保存几条记录.saveAll()如果不是出现问题,这很容易做到:

我有一个通知表单,我从a <select>和两个字段中分别选择主题和内容的多个用户.现在,当我输出$this->data包含的内容时,我有:

Array([Notification] => Array
    (
        [user_id] => Array
            (
                [0] => 4
                [1] => 6
            )

        [subject] => subject
        [content] => the-content-here
    )
)
Run Code Online (Sandbox Code Playgroud)

我读过Cake 1.3的书,为了保存模型的多个记录,你必须得到$this->data类似的东西:

Array([Article] => Array(
        [0] => Array
            (
                        [title] => title 1
                    )
        [1] => Array
            (
                        [title] => title 2
                    )
            )
)
Run Code Online (Sandbox Code Playgroud)

那么,我如何"分享"所有选定用户的主题和内容?

cakephp save cakephp-1.3

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

PHP usort()命令在相等的情况下

在usort()的PHP 手册中,它指出:

如果两个成员比较相等,则它们在排序数组中的相对顺序是未定义的.

也,

引入了一种新的排序算法.cmp_function不保持元素比较的原始顺序相等.

然后我的问题是:如果两个元素相等会发生什么(例如用户定义的函数返回0)?我正在使用此函数,显然相等的项目在排序的数组中随机排列.

php sorting

6
推荐指数
2
解决办法
2119
查看次数

如何在Android应用中嵌入SoundCloud小部件

如果我有轨道的URL,如何在Android应用程序中嵌入SoundCloud小部件?是否有官方的SoundCloud包装器将小部件集成到应用程序中,或者是一种在Android的本机播放器中集成轨道的URL的方法?这样做的最佳方法是什么?

android widget oembed soundcloud

6
推荐指数
0
解决办法
895
查看次数

Python:使用生成器的给定集合的powerset

我正在尝试使用生成器在Python中构建给定集的子集列表.说我有

set([1, 2, 3])

作为输入,我应该

[set([1, 2, 3]), set([2, 3]), set([1, 3]), set([3]), set([1, 2]), set([2]), set([1]), set([])]

作为输出.我怎样才能做到这一点?

python algorithm generator set powerset

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

从本地脚本导入本地包

我有这个项目结构:

\n
.\n\xe2\x94\x9c\xe2\x94\x80\xe2\x94\x80 README.md\n\xe2\x94\x9c\xe2\x94\x80\xe2\x94\x80 my_project\n\xe2\x94\x82\xc2\xa0\xc2\xa0 \xe2\x94\x9c\xe2\x94\x80\xe2\x94\x80 __init__.py\n\xe2\x94\x82\xc2\xa0\xc2\xa0 \xe2\x94\x9c\xe2\x94\x80\xe2\x94\x80 config.py\n\xe2\x94\x82\xc2\xa0\xc2\xa0 \xe2\x94\x9c\xe2\x94\x80\xe2\x94\x80 integrations\n\xe2\x94\x82\xc2\xa0\xc2\xa0 \xe2\x94\x82\xc2\xa0\xc2\xa0 \xe2\x94\x9c\xe2\x94\x80\xe2\x94\x80 __init__.py\n\xe2\x94\x82\xc2\xa0\xc2\xa0 \xe2\x94\x82\xc2\xa0\xc2\xa0 \xe2\x94\x94\xe2\x94\x80\xe2\x94\x80 google_places.py\n\xe2\x94\x9c\xe2\x94\x80\xe2\x94\x80 requirements.txt\n\xe2\x94\x94\xe2\x94\x80\xe2\x94\x80 scripts\n    \xe2\x94\x94\xe2\x94\x80\xe2\x94\x80 my_script.py\n
Run Code Online (Sandbox Code Playgroud)\n

在my_script.py我有:

\n
from my_project.integrations.google_places import GooglePlaces\n
Run Code Online (Sandbox Code Playgroud)\n

但是运行时出现以下错误python scripts/my_script.py:

\n
ModuleNotFoundError: No module named 'my_project'\n
Run Code Online (Sandbox Code Playgroud)\n

在本地,我可以pip install -e .打包我的包(通过添加 asetup.py到混合中),但是由于我需要从 GitHub Actions 运行它,所以感觉追求相同的途径没有意义。

\n

我一直在阅读有关 操纵 的内容sys.path,但它似乎有点老套。

\n

由于这是一个相当常见的设置(我猜),那么修复上述错误的推荐方法是什么?如果有意义的话,我可以改变项目结构。

\n

python

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