CakePHP 3.2首先找到哪里

时间:2016-08-05 09:12:34

标签: cakephp

我正在使用CakePHP 3.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”表中的所有记录。

4 个答案:

答案 0 :(得分:2)

使用ListView代替conditions

where

答案 1 :(得分:1)

简单地

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

debug($a)

您不需要调用toArray(),因为第一个已经返回单个实体

答案 2 :(得分:0)

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

答案 3 :(得分:0)

使用条件而不是

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