问题列表 - 第35917页

在对其他值进行OR运算时使用find和null

我想过滤我的数据库中的Null,0或''的某些字段.不幸的是,在IN条件下使用NULL无法返回任何内容......我相信这是由于SQL中的NULL比较评估为UNKNOWN.例如:

$filterField = $this->Model->find('list', array(
     'fields' => array('id','name'),
     'recursive' => 0,
     'conditions' => array('Model.related_string' => array(Null, 0, '')),
     'order' => array('Model.name ASC') 
     )
  );
Run Code Online (Sandbox Code Playgroud)

这始终不返回任何错误和零行,因为生成的查询具有SELECT ... WHERE 'Model'.'related_string' IN (NULL, 0, '').但是,如果我想单独OR OR条件,我似乎无法使用PHP的数组语法.我会覆盖这些值.例如:

          $conditions['OR'] = array(
             'Model.related_string' => array('', 0),
             'Model.related_string' => NULL);
Run Code Online (Sandbox Code Playgroud)

失败.这将仅在覆盖"Model.related_string"键的值时搜索NULL条目.我是不是写了两个发现?

cakephp

7
推荐指数
1
解决办法
3402
查看次数

如何为单个安装设置库并包含Makefile.PL的路径?

如何告诉CPAN Makefile.PL在一个特定的安装中给出一个特定的参数?

特别.我想安装XML::LibXML,并apt-get安装库/usr/lib/libxml2.so.2.6.32.Makefile.PL有问题并告诉我:

using fallback values for LIBS and INC
options:
  LIBS='-L/usr/local/lib -L/usr/lib -lxml2 -lm'
  INC='-I/usr/local/include -I/usr/include'
If this is wrong, Re-run as:
  $ /usr/bin/perl Makefile.PL LIBS='-L/path/to/lib' INC='-I/path/to/include'

looking for -lxml2... no
looking for -llibxml2... no
libxml2 not found
Try setting LIBS and INC values on the command line
Or get libxml2 from 
  http://xmlsoft.org/
Run Code Online (Sandbox Code Playgroud)

我知道libxml2在哪里,但我不知道怎么告诉它Makefile.PL.

编辑:当我这样做时dpkg -L libxml2(它是一个debian),我明白了

/.
/usr
/usr/lib
/usr/lib/libxml2.so.2.6.32
/usr/share
/usr/share/doc
/usr/share/doc/libxml2
/usr/share/doc/libxml2/AUTHORS
/usr/share/doc/libxml2/changelog.Debian.gz …
Run Code Online (Sandbox Code Playgroud)

perl cpan

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

基于外部值的Cython条件编译

我尝试从Cython pxd有条件地编译(或生成)到c代码.我读到我可以DEF定义一个值和IF根据它的值有条件地生成,但是如何从pxd文件外部获取此值?

具体来说,这两个案例对我来说很有意义:

  • 给Cython一些命令行定义,最好通过Cython.Distutils setuptools方式
  • extern-ed C头文件定义了一些值,并根据此值有条件地定义使用Cython(现在可能不可能?)

谢谢

conditional conditional-compilation cython

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

如何将sql聚合函数与不同更清晰的组合?

我最近一直在重复遇到以下情况,要么我需要将MAX()或SUM()应用于表中的一列,但我需要为其他列设置DISTINCT值.

例如,请考虑下表和关联列,这些列表示StackOverflow登录的详细信息.

SoUserLogins(OpenIdToken,Name,IpAdress,LoginTimeStamp,QuestionsAsked)

我可能想要一个包含用户及其上次登录的结果集.

SELECT DISTINCT
  OpenIdToken,
  MAX(LoginTimeStamp)
INTO #tmpLastLogin
FROM SoUserLogins
GROUP BY OpenIdToken
Run Code Online (Sandbox Code Playgroud)

但是我需要来自其他列的不同值.我将把它包装在一个公用表表达式(CTE)中,因为我将在以后使用它,并且不想要清理另一个临时表.

;WITH tmpLastLogin_CTE AS (
SELECT DISTINCT
  SOL.OpenIdToken, SOL.Name, SOL.IpAdress, SOL.QuestionsAsked
  TTL.LastLogin
FROM SoUserLogins SOL
JOIN #tmpLastLogin TLL ON SOL.OpenIdToken = TLL.OpenIdToken
)
--Extra SQL using tmpLastLogin_CTE goes here
Run Code Online (Sandbox Code Playgroud)

您可以在上面的代码中将MAX(LoginTimeStamp)更改为SUM(QuestionsAsked),并进行一些额外的调整以查看类似的示例.

我的问题是,是否有更清洁或更优雅的方式来处理这些情况?

我正在使用SQL Server.

sql sql-server distinct aggregate-functions

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

Python中的"布尔"操作(即:和/或运算符)

此方法搜索第一组单词字符(即:)[a-zA-Z0-9_],返回第一个匹配的组或None出现故障.

def test(str):
    m = re.search(r'(\w+)', str)
    if m:
        return m.group(1)
    return None
Run Code Online (Sandbox Code Playgroud)

相同的功能可以改写为:

def test2(str):
    m = re.search(r'(\w+)', str)
    return m and m.group(1)
Run Code Online (Sandbox Code Playgroud)

这工作原理相同,并且是记录在案的行为; 作为此页中明确指出:

表达式x and y首先评估x; 如果x为false,则返回其值; 否则,y将评估并返回结果值.

但是,作为一个布尔运算符(它甚至在手册上都这么说),我期望and返回一个布尔值.结果,当我发现(如何)这有效时,我感到惊讶.

有什么其他用例,和/或这种相当不直观的实现的理由是什么?

python boolean-expression least-astonishment

11
推荐指数
2
解决办法
5967
查看次数

Magento addFieldToFilter:两个字段,匹配为OR,而不是AND

过去几个小时我一直坚持这个.我通过乱砍几行来解决这个问题/lib/Varien/Data/Collection/Db.php,但是我宁愿使用正确的解决方案并保持我的核心不受影响.

我需要做的就是获取一个集合并通过两个或多个字段对其进行过滤.说,customer_firstnameremote_ip.这是我的(没有黑客的功能Db.php)代码:

$collection = Mage::getModel('sales/order')->getCollection()->
addAttributeToSelect("*")->
addFieldToFilter(array(array('remote_ip', array('eq'=>'127.0.0.1')),
array('customer_firstname', array('eq'=>'gabe'))), array('eq'=>array(1,2,3)));
Run Code Online (Sandbox Code Playgroud)

有了股票Db.php,我尝试了这个:(样本取自http://magentoexpert.blogspot.com/2009/12/retrieve-products-with-specific.html)

$collection->addFieldToFilter(array(
    array('name'=>'orig_price','eq'=>'Widget A'),
    array('name'=>'orig_price','eq'=>'Widget B'),           
));
Run Code Online (Sandbox Code Playgroud)

但这给了我这个错误:

Warning: Illegal offset type in isset or empty  in magento/lib/Varien/Data/Collection/Db.php on line 369
Run Code Online (Sandbox Code Playgroud)

如果我用try/catch包装它,那么它会进入_getConditionSql()并给出这个错误:

Warning: Invalid argument supplied for foreach()  in magento/lib/Varien/Data/Collection/Db.php on line 412
Run Code Online (Sandbox Code Playgroud)

有没有人有任何工作,功能代码这样做?我正在运行Magento 1.9(企业版).谢谢!

php magento magento-1.9

42
推荐指数
7
解决办法
12万
查看次数

iPhone:使用genstrings更新Localizable.strings文件?

我使用genstrings正确生成了我的字符串文件.我已经更改了不同语言的本地化字符串.现在,我添加了一些NSLocalizedString()事件,我想在我的所有本地化字符串文件中生成它们.

但是,再次运行genstrings似乎并没有更新我的字符串文件.难道我做错了什么?

iphone localization genstrings

13
推荐指数
1
解决办法
7674
查看次数

在 cygwin 中使用 python.ctypes

我想在 cygwin 中使用 python (2.6.5) ctypes,但我不知道如何加载 dll。

我尝试了各种变体,例如

>>> form ctypes import *
>>> cdll.LoadLibrary("/lib/libcairo.dll.a")
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "/usr/lib/python2.6/ctypes/__init__.py", line 431, in LoadLibrary
    return self._dlltype(name)
  File "/usr/lib/python2.6/ctypes/__init__.py", line 353, in __init__
    self._handle = _dlopen(self._name, mode)
OSError: Permission denied
Run Code Online (Sandbox Code Playgroud)

python cygwin ctypes

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

将对象传递给java中的方法似乎是通过引用(而Java是由val)

我认为当你将对象传递给Java中的方法时,它们应该是有价值的.

这是我的代码:

public class MyClass{
    int mRows;
    int mCols;
    Tile mTiles[][];     //Custom class

    //Constructor
    public MyClass(Tile[][] tiles, int rows, int cols) {
        mRows = rows;
        mCols = cols;

        mTiles = new Tile[mRows][mCols];
        for (int i=0; i < mRows; i++) {
            for (int j=0; j < mCols; j++) {
                mTiles[i][j] = new Tile();
                mTiles[i][j] = tiles[i][j];
            }
        }
    }
Run Code Online (Sandbox Code Playgroud)

此时,mTiles对象的任何更改都会反映回tiles对象.任何想法如何解决这一问题?

谢谢大家.

java eclipse android pass-by-reference pass-by-value

0
推荐指数
1
解决办法
2816
查看次数

如何清除对象上下文

如果我运行了几个查询并且ObjectContext填充了实体,如果我不再需要这些实体,如何清除上下文.我知道我需要尽快处理上下文,但在这种情况下,这是不可能的.那么有什么方法可以从上下文中删除这些对象?

entity-framework

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