Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / PHP, Perl, Python [игнор отключен] [закрыт для гостей] / Поиск по нескольким полям или определенным в ORM? / 3 сообщений из 3, страница 1 из 1
31.01.2013, 16:30
    #38132615
Stasonix
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Поиск по нескольким полям или определенным в ORM?
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
31.01.2013, 16:31
    #38132618
Stasonix
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Поиск по нескольким полям или определенным в ORM?
Stasonix,

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

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


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