[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: поиск
Stasonix
Использую ORM, сделал такие фильтры:

defined('SYSPATH') or die('No direct script access.');

class Model_User extends ORM {

public function get_users($filters = array())
{

if (!empty($filters['Name']))
$name = '%'.$filters['Name'].'%';
else
$name = '';

if (!empty($filters['Surname']))
$surname = intval($filters['Surname']);
else
$surname = '';

$users= ORM::factory('user')
->
where_open()
->
or_where('Name','LIKE',$name)
->
or_where('Surname','=',$surname)
->
where_close()
->
find_all();

if ($name=='' and $surname=='')
{
$users= ORM::factory('user')->find_all();
}
}
}


Проблема в том что при использовании, а точнее при выборке срабатывает что-то одно, либо пользователи выбираются только по полю `Name`, либо только по `Surname` ( опустим уникальность ).

Как сделать так чтобы выборка шла и по имени и по фамилии сразу? Т.е. если есть только имя задано, то выбираем пользователей с таким именем, если фамилия, то только по фамилии, если и то и другое, то всех пользователей с такими именем и фамилией, а если поля не заданы, то вообще выбираются все записи?
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.