i have two tables
CREATE TABLE IF NOT EXISTS `user` ( `user_id` int(20) NOT NULL AUTO_INCREMENT, `ud_id` varchar(50) NOT NULL, `name` text NOT NULL, `password` text NOT NULL, `email` varchar(200) NOT NULL, `image` varchar(150) NOT NULL, PRIMARY KEY (`user_id`) ) ENGINE=InnoDB
and mycatch table is
CREATE TABLE IF NOT EXISTS `mycatch` ( `catch_id` int(11) NOT NULL AUTO_INCREMENT, `catch_name` text NOT NULL, `catch_details` text NOT NULL, `longitude` float(10,6) NOT NULL, `latitude` float(10,6) NOT NULL, `time` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON …
我在使用数据库时遇到了麻烦seed.rb,特别是在表关系方面.
以下是代码示例:
# seed.rb
user = User.find_or_create_by_login(
:login => "myname",
:email => "myname@gmail.com",
:user_type => "Admin",
:password => "admin",
:password_confirmation => "admin")
project = Project.find_or_create_by_user_id(
:user_id => user.id,
:name => "Test Project")
Run Code Online (Sandbox Code Playgroud)
创建项目时(以及我从上面遗漏的其他无关参数),user_id为空.我怎样才能让它发挥作用?
这是我在一些如此简单的事情中看到的最奇怪的行为.在我的种子文件中,我创建了大约八个表,一些表嵌套了3-4个级别(即用户has_many项目;项目has_many任务等).
当我user如上所述呼叫用户并user.id在此之后多次引用时,它只能工作一次!我尝试在创建每条新记录之前添加[user.reload]但无济于事.我不认为这对任何人都有意义,但这里有什么可能吗?谢谢大家.
php除了之外是否有任何数据结构array.是否可以创建一个数据结构,如ArrayList?如果是这样,请提供一些参考或某种实施方式.
我想创建一个包含999个元素的int数组,每个元素的值都是999.有没有办法在声明期间初始化一个int数组,而不是遍历每个元素并将其值设置为999?
由于我是TDD新手,我目前正在开发一个小型C#控制台应用程序以便练习(因为练习很完美,对吧?).我首先简单地描述了如何组织应用程序(按类),并开始逐个开发我可以识别的所有域类(当然先测试).
最后,必须将类集成在一起以使应用程序可运行,即在Main方法中放置必要的代码,调用必要的逻辑.但是,我不知道如何以"先测试"的方式完成最后的整合步骤.
我想如果我使用"自上而下"的方法,我不会遇到这些问题.问题是:我该怎么做?我应该通过测试Main()方法开始吗?
如果有人能给我一些指示,我将非常感激.
我正在尝试使用"记住我"功能实现登录系统.这是我的登录页面:http: //pastebin.com/q6iK0Mgy.在此我尝试使用session_set_cookie_params()扩展会话cookie(PHPSESSIONID)到期.但它不起作用.
代码中的相关部分:在此处执行内部if()循环,但session_set_cookie_params('3600')无效.我正在调用session_name(),因为它应该是session_set_cookie_params()的一个要求(根据php手册中的一条评论)
if ( isset($_POST["submit"]) )
{
session_name() ;
echo "calling before checked " ;
if ( $_POST["remember"] == "on")
{
// extend expiration date of cookie
session_set_cookie_params('3600');
echo "<br/>calling after sessions_set_cookie_params" ;
}
}
require_once("includes/session.php"); //session start ?>
Run Code Online (Sandbox Code Playgroud)
我希望我能够解释我想做什么.基本上我试图做的是延长session_cookie的到期时间.我完全错了吗?还有另一种方法可以达到同样的目的吗?
谢谢
我正在寻找一个JavaScript函数,给定一个字符串返回一个压缩(更短)的字符串.
我正在开发一个Chrome网络应用程序,可以将长字符串(HTML)保存到本地数据库.出于测试目的,我试图压缩存储数据库的文件,并且缩小了五倍,所以我认为如果我压缩存储的东西,它将有助于保持数据库更小.
我在JavaScript中找到了LZSS的实现:http://code.google.com/p/u-lzss/("U-LZSS").
当我使用简短的示例字符串(解码===编码)"手动"测试它时它似乎有效,而且它在Chrome中也相当快.但是当给出大弦(100 ko)时,它似乎会混乱或混合弦的后半部分.
是否有可能U-LZSS期望短字符串并且不能处理更大的字符串?是否可以调整一些参数以移动上限?
我可以在不同的函数中访问局部变量吗?如果是这样,怎么样?
void replaceNumberAndPrint(int array[3]) {
printf("%i\n", array[1]);
printf("%i\n", array[1]);
}
int * getArray() {
int myArray[3] = {4, 65, 23};
return myArray;
}
int main() {
replaceNumberAndPrint(getArray());
}
Run Code Online (Sandbox Code Playgroud)
上面一段代码的输出:
65
4202656
Run Code Online (Sandbox Code Playgroud)
我究竟做错了什么?"4202656"是什么意思?
我是否必须在replaceNumberAndPrint()函数中复制整个数组才能比第一次更多地访问它?
我有一个基础类
class piece;
Run Code Online (Sandbox Code Playgroud)
以及包含派生对象的数组
piece* board[8][8];
Run Code Online (Sandbox Code Playgroud)
优势,通过虚拟功能进行清洁设计.缺点,如果我必须在板上找到一块或比较一件我必须恢复到动态铸造(或typeid).它很丑陋,在制作数百万个请求时可能会很糟糕.
另一方面,如果我创建一个单件类的数组,它有一个用于识别片段的类型字段,我没有这个问题(它应该更快)但我必须制作超级丑陋的switch语句.我想,由于件数是有限的,我不认为自己制造了那么多开关,这可能最终是一个更好的选择,你怎么看?
这很有趣(所以没有位板).
编辑1
阅读一些答案,我认为仅使用类型字段进行运算符重载(==,!= ...)可以带来两个单词的最佳效果.
boost :: variant看起来也很有趣.
我使用下面的代码:
puts "matched" if "??" =~ /\w+/
Run Code Online (Sandbox Code Playgroud)
它让"matched"我感到惊讶,因为"中国"是两个汉字,它不是0-9,az,AZ和_中的任何一个,而是输出"匹配"的原因.
有人能给我一些线索吗?