CakePHP3.2使用where首先查找

CakePHP3.2使用where首先查找,cakephp,Cakephp,我正在使用CakePHP3.2。以下是我的查找查询: $a=$this->A->find('all', ['where' => [ 'b=='=>5, 'c>'=>1000 ]])->first(); // For debuging what I receive: $data=$a->toArray(); print_r($data); 我想选择“A”中的第一条记录,其“b”列等于5,而“c”列大于1000。我做错了什么?

我正在使用CakePHP3.2。以下是我的查找查询:

  $a=$this->A->find('all', ['where' => [ 'b=='=>5, 'c>'=>1000 ]])->first();   

  // For debuging what I receive:
  $data=$a->toArray();
  print_r($data);
我想选择“A”中的第一条记录,其“b”列等于5,而“c”列大于1000。我做错了什么?上面的查询返回“A”表中的所有记录。

$a = $this->A->find()
    ->where([ 'b' => 5, 'c >' => 1000 ])
    ->first();   

debug($a)
您不需要调用toArray(),因为first已经简单地返回了单个实体

$a = $this->A->find()
    ->where([ 'b' => 5, 'c >' => 1000 ])
    ->first();   

debug($a)
您不需要调用toArray(),因为first已返回单个实体,它应该是这样的: $data=$this->A->find()->其中(['b'=>5,'c>'=>1000])->first()

应该是这样的:
$data=$this->A->find()->其中(['b'=>5,'c>'=>1000])->first()

使用
条件
而不是
where

$a=$this->A->find('all', ['conditions' => ['b'=>5, 'c >'=>1000]])->first();

使用
条件
而不是
where

$a=$this->A->find('all', ['conditions' => ['b'=>5, 'c >'=>1000]])->first();

使用条件而不是where

$query = $articles->find('all', [
    'conditions' => ['Articles.title LIKE' => '%Ovens%']
]);
$result = $query->toArray();

使用条件而不是where

$query = $articles->find('all', [
    'conditions' => ['Articles.title LIKE' => '%Ovens%']
]);
$result = $query->toArray();

toArray仅适用于调试需要。您的代码不起作用:在BooLeNANE上调用成员函数FAND(),当然,您可以将实体转换为数组,但出于调试目的,它或多或少给出相同的信息,因此我认为它不是非常有用。此外,代码是正确的(只要您实际有一个名为a的模型)。您的代码不起作用:在BooLeNANE上调用成员函数FAND(),当然,您可以将实体转换为数组,但出于调试目的,它或多或少给出相同的信息,因此我认为它不是非常有用。此外,代码是正确的(只要您实际有一个名为a的模型),它确实有效。你能解释一下为什么我的“where”不起作用吗。我以前从未使用过“条件”。区别是什么?因为这是官方语法。请参阅“find()支持的选项列表”,网址:Thank you!我从cake 1.3迁移到3.2,它改变了
查找所有名称前缀为“A”的汽车,但只查找第一辆
vs
查找第一辆名称前缀为“A”的汽车
…它确实有效。你能解释一下为什么我的“where”不起作用吗。我以前从未使用过“条件”。区别是什么?因为这是官方语法。请参阅“find()支持的选项列表”,网址:Thank you!我从cake 1.3迁移到3.2,它改变了
查找所有名称前缀为“A”的汽车,但只查找第一辆
vs
查找第一辆名称前缀为“A”的汽车
…loool