Welcome to the Cookbook

loading...

3.7.3.1.1 find('first')

find('first', $params)

'first' は find のデフォルトの型で、1件の結果を返します。1件だけ結果が欲しい時は、これを使ってください。コントローラ中で使う場合の簡単な例を、いくつか次に示します。

function some_function() {
   ...
   $this->Article->order = null; // これがセットされているとリセットされます
   $semiRandomArticle = $this->Article->find();
   $this->Article->order = 'Article.created DESC'; // モデルがデフォルトの並び順を持つようにシミュレートします
   $lastCreated = $this->Article->find();
   $alsoLastCreated = $this->Article->find('first', array('order' => array('Article.created DESC')));
   $specificallyThisOne = $this->Article->find('first', array('conditions' => array('Article.id' => 1)));
   ...
}
  1. function some_function() {
  2. ...
  3. $this->Article->order = null; // これがセットされているとリセットされます
  4. $semiRandomArticle = $this->Article->find();
  5. $this->Article->order = 'Article.created DESC'; // モデルがデフォルトの並び順を持つようにシミュレートします
  6. $lastCreated = $this->Article->find();
  7. $alsoLastCreated = $this->Article->find('first', array('order' => array('Article.created DESC')));
  8. $specificallyThisOne = $this->Article->find('first', array('conditions' => array('Article.id' => 1)));
  9. ...
  10. }

最初の例では、find にパラメータが一切渡されていません。したがって、検索条件と並び順が使用されません。find('first') が返す値は、次のような形式になります。

Array
(
    [ModelName] => Array
        (
            [id] => 83
            [field1] => value1
            [field2] => value2
            [field3] => value3
        )

    [AssociatedModelName] => Array
        (
            [id] => 1
            [field1] => value1
            [field2] => value2
            [field3] => value3
        )
)

find('first') において使用する追加のパラメータは、前述したもので全てです。