Size: a a a

2020 September 25

SR

Serge Rosolovsky in OctoberCMS
Здравствуйте. У меня есть каталог (не шопаголик), список товаров. И вот на странице товара мне нужно иметь еще 2 ссылки на предыдущий и следуущий товар. То есть соседские записи. Есть какие то готовые методы получить соседские записи, или свое писать?
источник

M

MihailBishkek in OctoberCMS
Serge Rosolovsky
Здравствуйте. У меня есть каталог (не шопаголик), список товаров. И вот на странице товара мне нужно иметь еще 2 ссылки на предыдущий и следуущий товар. То есть соседские записи. Есть какие то готовые методы получить соседские записи, или свое писать?
а что значит соседские? по ID определяешь?
источник

КА

Константин Аникин... in OctoberCMS
Serge Rosolovsky
Здравствуйте. У меня есть каталог (не шопаголик), список товаров. И вот на странице товара мне нужно иметь еще 2 ссылки на предыдущий и следуущий товар. То есть соседские записи. Есть какие то готовые методы получить соседские записи, или свое писать?
Ты можешь получить из базы первую модель, id которой больше(и меньше) текущего id.

$previous = Model::where('id', '<', $id)->max('id);
$next = Model::where('id', '>', $id)->min('id');
источник

SR

Serge Rosolovsky in OctoberCMS
MihailBishkek
а что значит соседские? по ID определяешь?
Пока что по id, но есть сортировка
источник

M

MihailBishkek in OctoberCMS
судя по всему есть каталог ) а в каталоге соседские записи совсем не по ID определяться могут )
источник

SR

Serge Rosolovsky in OctoberCMS
Ну да, могут и не по id
источник

M

MihailBishkek in OctoberCMS
Serge Rosolovsky
Пока что по id, но есть сортировка
соответственно при открытии товара - ты с предыдущей страницы должен передать ID - соседского ДО товара и ID соседкого ПОСЛЕ товара.
источник

SR

Serge Rosolovsky in OctoberCMS
MihailBishkek
соответственно при открытии товара - ты с предыдущей страницы должен передать ID - соседского ДО товара и ID соседкого ПОСЛЕ товара.
Точно
источник

SR

Serge Rosolovsky in OctoberCMS
Только с текущей а не предыдущей
источник

M

MihailBishkek in OctoberCMS
а если человек переходит не с каталога, скажем, а с поисковика?.. То тут надо тоже продумать ))) по умолчанию...
источник

M

MihailBishkek in OctoberCMS
так ты же говоришь есть сортировки и фильтрации?
источник

M

MihailBishkek in OctoberCMS
фильтр тебе отфильтровал товары со следующими ID; 444, 555, 888, 111
источник

M

MihailBishkek in OctoberCMS
открывая товар 888 Должны показаться слева 555 и справа 111
источник

M

MihailBishkek in OctoberCMS
)))) не так чтоль?
источник

SR

Serge Rosolovsky in OctoberCMS
Верно
источник

M

MihailBishkek in OctoberCMS
можно также ещё с предыдущего состояния фильтрации открывать запросом `Model::where().....->take(1)->skip(3)->get(); Тут же рядом уточнять ID skip(2) и skip(4)...
источник

M

MihailBishkek in OctoberCMS
идея ясна? )
источник

SR

Serge Rosolovsky in OctoberCMS
Ясна вроде.
источник

SR

Serge Rosolovsky in OctoberCMS
Задача как бы универсальная, не привязана к октябрю скорее к sql
источник

SR

Serge Rosolovsky in OctoberCMS
Хотя по сути есть коллекция (отсортированная) которая выводиться в цикле. Может методами коллекций можно найти соседские элементы
источник