问题列表 - 第19535页

在Doctrine中插入具有关系的记录后获取ID

在使用PHP Doctrine Project插入新记录后获取id时遇到问题.

在没有父表(没有外键)的表中插入新记录时,不会出现问题.但是当在这里插入一个相关的记录时出现问题,我只得到在我的情况下无用的父ID.

PHP代码示例:

$city = new City();
$city->name = "Baghdad";
$city->country_id = 6;
$city->save();
print_r($city->identifier());
exit;
Run Code Online (Sandbox Code Playgroud)

输出是:

Array
(
    [id] => 
    [country_id] => 6
)
Run Code Online (Sandbox Code Playgroud)

为什么ID是空的!,成功插入行!我需要这个来做更多基于city.id的插入,就像将这个城市作为父母一样的另一个区域.

注意使用$city->id导致此错误: Warning: Invalid argument supplied for foreach() in Doctrine/Record.php on line 1151

数据库SQL转储:

CREATE TABLE IF NOT EXISTS `country` (
  `id` int(11) NOT NULL auto_increment,
  `name` varchar(64) collate utf8_unicode_ci NOT NULL,
  PRIMARY KEY  (`id`),
  UNIQUE KEY `name_UNIQUE` (`name`)
) ENGINE=InnoDB  DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci AUTO_INCREMENT=7 ;


CREATE TABLE IF NOT EXISTS …
Run Code Online (Sandbox Code Playgroud)

php orm doctrine uniqueidentifier

4
推荐指数
1
解决办法
3661
查看次数

字节数组中的项数

我有以下C++数组:

byte data[] = {0xc7, 0x05, 0x04, 0x11 ,0x45, 0x00, 0x00, 0x00, 0x00, 0x00};
Run Code Online (Sandbox Code Playgroud)

我怎么知道这个数组中有多少项?

c++

3
推荐指数
2
解决办法
1124
查看次数

理解C函数在Windows上使用__cdecl调用prolog

在调试模式下使用MSVC2008编译这个简单的函数:

int __cdecl sum(int a, int b)
{
    return a + b;
}
Run Code Online (Sandbox Code Playgroud)

我得到以下反汇编列表:

int __cdecl sum(int a, int b)
{
004113B0  push        ebp  
004113B1  mov         ebp,esp 
004113B3  sub         esp,0C0h 
004113B9  push        ebx  
004113BA  push        esi  
004113BB  push        edi  
004113BC  lea         edi,[ebp-0C0h] 
004113C2  mov         ecx,30h 
004113C7  mov         eax,0CCCCCCCCh 
004113CC  rep stos    dword ptr es:[edi] 
    return a + b;
004113CE  mov         eax,dword ptr [a] 
004113D1  add         eax,dword ptr [b] 
}
004113D4  pop         edi  
004113D5  pop         esi  
004113D6  pop         ebx  
004113D7  mov …
Run Code Online (Sandbox Code Playgroud)

c windows assembly

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

与MySql的连接正在自动中止.如何正确配置Connector/J?

我从错误消息中读到了这个建议:

您应该考虑在应用程序中使用之前过期和/或测试连接有效性,增加服务器配置的客户端超时值,或使用Connector/J连接属性"autoReconnect = true"来避免此问题.

我正在使用Spring和JPA.我应该在哪里配置Connector/J?(在弹簧配置中persistence.xml,或在entityManagerFactory弹簧配置中,或在dateSource其他地方?)

java mysql spring jpa connection-timeout

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

人们将哪些.Net属性应用于他们的代码?

可能重复:
C#中最有用的属性

我总是觉得我缺少可以通过简单地将属性应用于类,方法,属性等而在.Net中获得的功能.智能感知无法显示所有适当的属性,因为它们通常可以广泛应用于场景.

这是我喜欢使用的几个属性:

[DebuggerHidden] - 将此放置在方法上可防止Visual Studio调试器插入代码.如果您有一个不断触发和中断调试的事件,这将非常有用.

[EditorBrowsable(EditorBrowsableState.Never)] - 隐藏intellisense中的方法.我不经常使用它,但它在构建可重用组件时很方便,并且您想隐藏一些测试或调试方法.

我想看看其他人在使用什么,以及人们有什么提示.

.net attributes

11
推荐指数
1
解决办法
413
查看次数

OOP派生类和继承类之间的区别?

从OOP的角度来看,派生类和继承类之间有什么区别吗?或者只是术语?

oop inheritance terminology class-hierarchy

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

什么是在实时应用程序中同步多个线程之间的容器访问的最佳方法

std::list<Info> infoList在我的应用程序中有两个线程共享.这2个线程正在访问此列表,如下所示:

主题1:使用push_back(),pop_front()clear()在列表上(视情况而定) 线程2:使用一个iterator通过列表中的项目进行迭代,并做一些动作.

线程2正在迭代列表,如下所示:

for(std::list<Info>::iterator i = infoList.begin(); i != infoList.end(); ++i)
{
  DoAction(i);
}
Run Code Online (Sandbox Code Playgroud)

代码使用GCC 4.4.2编译.

有时++ i会导致段错误并导致应用程序崩溃.该错误是在以下行的std_list.h第143行引起的:

_M_node = _M_node->_M_next;
Run Code Online (Sandbox Code Playgroud)

我想这是一个赛车条件.当线程2迭代它时,列表可能已被线程1更改或甚至清除.

我使用Mutex来同步对此列表的访问,并且在我的初始测试期间一切正常.但是系统只是在压力测试下冻结,使得这个解决方案完全不可接受.此应用程序是一个实时应用程序,我需要找到一个解决方案,以便两个线程可以尽可能快地运行,而不会损害总的应用程序吞吐量.

我的问题是:线程1和线程2需要尽可能快地执行,因为这是一个实时应用程序.我该怎么做才能防止这个问题并仍然保持应用程序性能?是否有任何无锁算法可用于此类问题?

如果我Info在线程2的迭代中错过了一些新添加的对象,但是我可以做些什么来防止迭代器成为悬空指针?

谢谢

c++ concurrency multithreading access-synchronization

10
推荐指数
2
解决办法
5340
查看次数

使用LINQ搜索XML文档

我有一个类似于这个的xml文档:

<Root>

    <MainItem ID="1">
        <SubItem></SubItem>
        <SubItem></SubItem>
        <SubItem></SubItem>
    </MainItem>
    <MainItem ID="2">
        <SubItem></SubItem>
        <SubItem></SubItem>
        <SubItem></SubItem>
    </MainItem>

    ...
</Root>
Run Code Online (Sandbox Code Playgroud)

我想基于属性ID的值返回整个MainItem元素.如果属性ID等于2,那么有效,然后返回给我MainItem元素.

我无法解决如何使用LINQ执行此操作.谷歌似乎有大量的信息,但我似乎无法找到我正在寻找的东西.

帮助不大?

TIA

:-)

c# xml linq

5
推荐指数
1
解决办法
2944
查看次数

在OSX .app容器中分发Rails应用程序

我想在.app包中分发一个Rails应用程序,因此它可以从10.4到10.6运行; 是否有任何关于如何做到这一点的方法或提示?特别是以下事情让我扭曲了脑袋:

  1. 我想用Ruby 1.8.6重新打包应用程序,所以即使在系统上安装了旧版本的Ruby(例如Mac OS X Tiger中的1.8.4)它也会运行 - 我怎么会绕过通用二进制文件问题?我可以添加Ruby并使用这个特定的Ruby版本来运行我的应用程序吗?

  2. 实现:我想让一个.app在应用程序启动时启动瘦或杂项,并在应用程序关闭时停止应用程序.是否有任何示例OS X XCode项目(或任何其他示例)?

  3. 是一个XCode容器的方式吗?我有什么其他选择?

ruby macos packages ruby-on-rails distribution

5
推荐指数
1
解决办法
735
查看次数

根据文件夹中已存在的内容创建名称文件

我想在文件夹中创建一个新文件,其中现有文件的名称按数字顺序排列,例如.1,2,3,4 ......

我想检查最后一个nr是什么,然后在那个上创建一个nr的文件.

我知道我应该使用file_exists但我不确切知道如何使用它,在for循环可能吗?但怎么样?

如果有人能给我一个提示,那会很好

php

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