powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / PHP, Perl, Python [игнор отключен] [закрыт для гостей] / Поиск по нескольким полям или определенным в ORM?
3 сообщений из 3, страница 1 из 1
Поиск по нескольким полям или определенным в ORM?
    #38132615
Фотография Stasonix
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mr.S

Есть два поля, напр. name и surname, как организовать поиск по одному из полей или сразу по двум?

стандартно это все в ORM ищется как

Код: php
1.
$user = ORM::factory('user')->where('name','=',$username)->find_all();



А что делать если юзер вбил в поле поиска и имя и фамилию? Ставить каждый раз if-ы накладно, может быть больше 2-х полей, как в таком случае быть?

напр.

Код: php
1.
2.
3.
4.
5.
6.
7.
8.
9.
defined('SYSPATH') or die('No direct script access.');

class Model_User extends ORM {

	public function get_users($filters = array())
	{
                $user = ORM::factory('user')->where(...
         }
}




и тут вызов в контроллере напр. такой

Код: php
1.
2.
$filters = array('username'=>'Alex');
$users = ORM::factory('user')->get_users($filters);



Как по этим фильтрам добавить `and_where` или `or_where` (а может и вообще без них быть, т.е. пользователь не ввел в поля поиска никаких данных) в методе поиска?
...
Рейтинг: 0 / 0
Поиск по нескольким полям или определенным в ORM?
    #38132618
Фотография Stasonix
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Stasonix,

Kohana 3.2 Framework.
...
Рейтинг: 0 / 0
Поиск по нескольким полям или определенным в ORM?
    #38132704
Фотография Stasonix
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Изначально с этим (код)

Код: php
1.
2.
3.
4.
5.
6.
$user = ORM::factory('user')
		->where_open()
		->where('username','LIKE',$name)
		->or_where('surname','=',$surname)
		->where_close()
		->find_all();



неплохо справляется (опустим уникальность пользователей, допустим есть однофамильцы и тески сразу).

Так вот по такому запросу будет искать по базе только по одному из фильтров, а как сделать поиск так, чтобы была выборка по базе сразу по двум, трем, нескольким фильтрам или вообще без оных?
...
Рейтинг: 0 / 0
3 сообщений из 3, страница 1 из 1
Форумы / PHP, Perl, Python [игнор отключен] [закрыт для гостей] / Поиск по нескольким полям или определенным в ORM?
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]