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` ( опустим уникальность ).
Как сделать так чтобы выборка шла и по имени и по фамилии сразу? Т.е. если есть только имя задано, то выбираем пользователей с таким именем, если фамилия, то только по фамилии, если и то и другое, то всех пользователей с такими именем и фамилией, а если поля не заданы, то вообще выбираются все записи?