我目前正在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中的几个字段.这可能是未将验证错误绑定到字段的问题吗?如果是,我该如何解决?
我有以下输出,我需要在数据库中插入:
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自动为每个关联模型设置外键?
谢谢!
我有一个数据库表,用于保存每个用户在城市中的签到.我需要知道用户在一个城市中已经过了多少天,然后知道用户对一个城市进行了多少次访问(访问包括在城市中连续几天的访问).
所以,考虑我有下表(简化,只包含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).
问题是我不知道如何构建此查询.
任何帮助将非常感谢!
我在Bamboo中有一个计划,只要对附加的存储库进行更改(通过轮询)就会启动.
现在,在每个构建上,如果成功,则在repo中更新CHANGELOG文件,这反过来会触发另一个构建.如何从Bamboo的轮询中省略某些文件,以便在找到这些文件的更改时不启动构建?因为否则,我进入无限循环,改变CHANGELOG触发另一个构建,然后更新CHANGELOG等等.
如果不可能,还有哪些其他可行的解决方案?是否有可能在构建开始之前在某处附加shell脚本以检查是否需要启动新构建?
我有以下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.
谢谢!
我想为一个模型保存几条记录.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)
那么,我如何"分享"所有选定用户的主题和内容?
如果两个成员比较相等,则它们在排序数组中的相对顺序是未定义的.
也,
引入了一种新的排序算法.cmp_function不保持元素比较的原始顺序相等.
然后我的问题是:如果两个元素相等会发生什么(例如用户定义的函数返回0)?我正在使用此函数,显然相等的项目在排序的数组中随机排列.
如果我有轨道的URL,如何在Android应用程序中嵌入SoundCloud小部件?是否有官方的SoundCloud包装器将小部件集成到应用程序中,或者是一种在Android的本机播放器中集成轨道的URL的方法?这样做的最佳方法是什么?
我正在尝试使用生成器在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([])]
作为输出.我怎样才能做到这一点?
我有这个项目结构:
\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\nRun Code Online (Sandbox Code Playgroud)\n在my_script.py我有:
from my_project.integrations.google_places import GooglePlaces\nRun Code Online (Sandbox Code Playgroud)\n但是运行时出现以下错误python scripts/my_script.py:
ModuleNotFoundError: No module named 'my_project'\nRun Code Online (Sandbox Code Playgroud)\n在本地,我可以pip install -e .打包我的包(通过添加 asetup.py到混合中),但是由于我需要从 GitHub Actions 运行它,所以感觉追求相同的途径没有意义。
我一直在阅读有关 操纵 的内容sys.path,但它似乎有点老套。
由于这是一个相当常见的设置(我猜),那么修复上述错误的推荐方法是什么?如果有意义的话,我可以改变项目结构。
\n