使用php打印条件等于ID数组的数据

使用php打印条件等于ID数组的数据,php,cakephp-3.0,Php,Cakephp 3.0,我试图打印来自BstockBooksTableResearchId等于数组(1,2,3)的查询的数据,但在下面的代码中显示错误: $bstockBooksTableResearches = $this->BstockIn->BstockResearchs->find('list', [ 'conditions' => ['BstockResearchs.id' => $bstockBooksTableResearchIds],

我试图打印来自BstockBooksTableResearchId等于数组(1,2,3)的查询的数据,但在下面的代码中显示错误:

$bstockBooksTableResearches = $this->BstockIn->BstockResearchs->find('list', [
            'conditions' => ['BstockResearchs.id' => $bstockBooksTableResearchIds],

                ]) ;
试试这个:

 $bstockBooksTableResearches = $this->BstockIn->BstockResearchs->find('list', array(
                'conditions' =>array (
    'BstockResearchs.id' => $bstockBooksTableResearchIds),

                    )) ;

更改:IN子句应该在数组中。

您应该在您的条件中添加
IN
,这样您的代码将

$bstockBooksTableResearches = $this->BstockIn->BstockResearchs->find('list', [
            'conditions' => [
                'BstockResearchs.id IN' => $bstockBooksTableResearchIds
                ]
            ]) ;

这不是错误,这是查询对象的转储,正如
(帮助)
键内容所示。在所说的地方不允许有可能重复的方括号@Sucharitha@tarikul05:在我的例子中,对于直接值,方括号起作用,但在变量中,它引发了错误。所以我认为它可能不起作用。这可能是您的php版本问题,php文档说,从PHP5.4开始,您还可以使用短数组语法,它将数组()替换为[]。所以它考虑到了一切。你不能说不允许。