データベースから記事を見つける必要があり、隣人の次と前のIDも必要です。現在、機能するクエリが 3 つあります。最初の 2 つは find() メソッドがありません。
$artNext = ArticlesQuery::create()
->filterById(array('min' => $artId + 1))
->filterByActive(1)
->filterByType(1)
->select('Id')
->orderById(Criteria::ASC)
->limit(1);
$artPrev = ArticlesQuery::create()
->filterById(array('max' => $artId - 1))
->filterByActive(1)
->filterByType(1)
->select('Id')
->orderById(Criteria::DESC)
->limit(1);
$article = ArticlesQuery::create()
->filterByActive(1)
->filterById($artId)
->findOne();
次のクエリのように、artPrev サブクエリと artNext サブクエリを組み合わせて挿入するにはどうすればよいですか (簡略化)
select id,
(select id from articles where id<77 ORDER BY id DESC limit 1 ) as prev,
(select id from articles where id>77 ORDER BY id ASC limit 1) as next
from articles
where id=77