【CakePHP】findの使い方(neighbors)

2019年7月29日

バージョン:CakePHP 2.2.2
指定した条件の前後のデータを取得するには、neighborsを使用します。
「前へ」「次へ」のようなリンクを作る場合に使用できます。

例えば、ユーザテーブルのID=2の前後を取得する場合は、
下記のように指定します。

$this->User->find(
	'neighbors',
	array
	(
		'field' => 'id',
		'value' => 2
	)
);

▽結果

Array
(
    [prev] => Array
        (
            [User] => Array
                (
                    [id] => 1
                    [name] => 太郎
                    [created] => 2014-02-01 00:00:00
                    [modified] => 2014-02-01 00:00:00
                )
        )
    [next] => Array
        (
            [User] => Array
                (
                    [id] => 3
                    [name] => 花子
                    [created] => 2014-02-02 00:00:00
                    [modified] => 2014-02-02 00:00:00
                )
        )
)

また、上記の例で「id」「name」だけを取得するなど、
フィールドを指定したい場合は下記の用に指定します。

$this->User->find(
	'neighbors',
	array
	(
		'fields' => array('User.id','User.name'),
		'field' => 'id',
		'value' => 2
	)
);

スポンサーリンク