Фильтрация по id и по field 2.X

 
Посетитель
small user social cms
Медаль
Сообщений: 624
Друзья как эти строчки сделать в одну строку ? Что бы при вводе строку по ид искало b и по уникальному названию ?
Код PHP:
  1. $sport_team = $this->getItemById('sports_teams', $id);
  2. $sport_team = $this->getItemByField('sports_teams', 'team_system', $id);
Например если пользователь ввел в строку test/1 или test/blabla обе работали.
Редактировалось: 3 раз (Последний: 17 апреля 2018 в 18:39)
Посетитель
small user social cms
Медаль
Сообщений: 148
scratch непонятно
Порою нужен сбой в системе, и шаг на ощупь в темноте. А иногда - побыть не с теми, чтоб наконец понять, кто - те.
Реклама
cms
Посетитель
small user social cms
Медаль
Сообщений: 624
Alex:

scratch непонятно

Что бы и по id находило и по записи
Фильтрация по id и по field
Посетитель
small user social cms
Медаль
Сообщений: 148
Думаю надо поставить условие if(!empty($team_system)){ ищем по $team_system; }else{ ищем по $id; }
Только надо как-то различать что есть 'id' а что есть 'team_system'. Например 'id' - это число, 'team_system' - это строка
Редактировалось: 1 раз (Последний: 17 апреля 2018 в 20:10)
Порою нужен сбой в системе, и шаг на ощупь в темноте. А иногда - побыть не с теми, чтоб наконец понять, кто - те.
Посетитель
small user social cms
Медаль
Сообщений: 624
Alex:

Думаю надо поставить условие if(!empty($team_system)){ ищем по $team_system; }else{ ищем по $id; }
Только надо как-то различать что есть 'id' а что есть 'team_system'. Например 'id' - это число, 'team_system' - это строка

А как это можно сделать в model.php

Код PHP:
  1. public function getSportsTeam($id){
  2. $sport_team = $this->getItemByField('sports_teams', 'team_system', $id);
  3. $this->filterEqual('team_system', $id);
  4. $sport_team['sports_teams'] = $this->get('sports_teams');
  5. return $sport_team;
  6. }
Посетитель
small user social cms
Медаль
Сообщений: 148
Ну примерно
Код PHP:
  1.  
  2. public function getSportsTeam($value){
  3. if (is_numeric($value)) {
  4. // передано число, значит ищем по 'id'
  5. $sport_team = $this->getItemById('sports_teams', $value);
  6. }
  7. else {
  8. // передано не число, значит ищем по 'sports_teams' - строка
  9. $this->filterLike('team_system', $value);
  10. $sport_team = $this->getItem('sports_teams');
  11. }
  12. return $sport_team;
  13. }
  14.  
Порою нужен сбой в системе, и шаг на ощупь в темноте. А иногда - побыть не с теми, чтоб наконец понять, кто - те.
Посетитель
small user social cms
Медаль
Сообщений: 624
Alex:

Ну примерно
Код PHP:
  1.  
  2. public function getSportsTeam($value){
  3. if (is_numeric($value)) {
  4. // передано число, значит ищем по 'id'
  5. $sport_team = $this->getItemById('sports_teams', $value);
  6. }
  7. else {
  8. // передано не число, значит ищем по 'sports_teams' - строка
  9. $this->filterLike('team_system', $value);
  10. $sport_team = $this->getItem('sports_teams');
  11. }
  12. return $sport_team;
  13. }
  14.  

Спасибо прям в точку!

Код PHP:
  1. if (is_numeric($id)) {
  2. $sport_team = $this->getItemById('sports_teams', $id);
  3. } else {
  4. $this->filterLike('team_system', $id);
  5. $sport_team = $this->getItem('sports_teams');
  6. }
В начало страницы
Предыдущая темаСледующая тема Перейти на форум: