У меня есть следующий запрос активной записи:
$this->db->select('id, email, first_name, last_name, current_location_state, current_location, avatar, avatar_fb');
$this->db->from('users');
$this->db->like('first_name', $search);
$this->db->or_like('last_name', $search);
$this->db->or_like("CONCAT(first_name, ' ', last_name)", $search);
$this->db->or_like('email', $search);
$this->db->where_in('id', $ids);
Это функция, имеющая массив $ids, содержащий идентификаторы моих друзей. Я хочу найти друзей, которые соответствуют моим запросам «Мне нравится», но имеют только один идентификатор в переменной $ids.
Я почти уверен, что мне нужно объединитьwhere_in и все подобные операторы, чтобы это было что-то вроде (WHERE_IN $ids && Like Statements).
Я не очень хорошо разбираюсь в MySQL, поэтому буду благодарен за любую помощь.
Спасибо!
function narrow_connections($search) {
//First get all this users connections...
$connections = $this->get_connections($this->session->userdata('user_id'), 0, 0);
if(empty($connections)) {
return array();
}else {
//Need to get an array of id's
$ids = array();
foreach($connections as $con) {
array_push($ids, $con['id']);
}
//Now that we have an array of ID's, find all users that have one of the ids (our connections), AND match a search term to narrow down
//the results.
$this->db->select('id, email, first_name, last_name, current_location_state, current_location, avatar, avatar_fb');
$this->db->from('users');
$this->db->like('first_name', $search);
$this->db->or_like('last_name', $search);
$this->db->or_like("CONCAT(first_name, ' ', last_name)", $search);
$this->db->or_like('email', $search);
$this->db->where_in('id', $ids);
$query = $this->db->get();
$data = array();
foreach ($query->result() as $row) {
$data[] = array(
'id' => $row->id,
'email' => $row->email,
'first_name' => $row->first_name,
'last_name' => $row->last_name,
'current_location_state' => $row->current_location_state,
'current_location' => $row->current_location,
'avatar' => $row->avatar,
'avatar_fb' => $row->avatar_fb,
);
}
return $data;
}
}
Подробнее здесь: https://stackoverflow.com/questions/214 ... rd-queries
Codeigniter объединяет запросыwhere_in и подобные активные записи ⇐ Php
Кемеровские программисты php общаются здесь
-
Anonymous
1760612309
Anonymous
У меня есть следующий запрос активной записи:
$this->db->select('id, email, first_name, last_name, current_location_state, current_location, avatar, avatar_fb');
$this->db->from('users');
$this->db->like('first_name', $search);
$this->db->or_like('last_name', $search);
$this->db->or_like("CONCAT(first_name, ' ', last_name)", $search);
$this->db->or_like('email', $search);
$this->db->where_in('id', $ids);
Это функция, имеющая массив $ids, содержащий идентификаторы моих друзей. Я хочу найти друзей, которые соответствуют моим запросам «Мне нравится», но имеют только один идентификатор в переменной $ids.
Я почти уверен, что мне нужно объединитьwhere_in и все подобные операторы, чтобы это было что-то вроде (WHERE_IN $ids && Like Statements).
Я не очень хорошо разбираюсь в MySQL, поэтому буду благодарен за любую помощь.
Спасибо!
function narrow_connections($search) {
//First get all this users connections...
$connections = $this->get_connections($this->session->userdata('user_id'), 0, 0);
if(empty($connections)) {
return array();
}else {
//Need to get an array of id's
$ids = array();
foreach($connections as $con) {
array_push($ids, $con['id']);
}
//Now that we have an array of ID's, find all users that have one of the ids (our connections), AND match a search term to narrow down
//the results.
$this->db->select('id, email, first_name, last_name, current_location_state, current_location, avatar, avatar_fb');
$this->db->from('users');
$this->db->like('first_name', $search);
$this->db->or_like('last_name', $search);
$this->db->or_like("CONCAT(first_name, ' ', last_name)", $search);
$this->db->or_like('email', $search);
$this->db->where_in('id', $ids);
$query = $this->db->get();
$data = array();
foreach ($query->result() as $row) {
$data[] = array(
'id' => $row->id,
'email' => $row->email,
'first_name' => $row->first_name,
'last_name' => $row->last_name,
'current_location_state' => $row->current_location_state,
'current_location' => $row->current_location,
'avatar' => $row->avatar,
'avatar_fb' => $row->avatar_fb,
);
}
return $data;
}
}
Подробнее здесь: [url]https://stackoverflow.com/questions/21414814/codeigniter-combine-where-in-and-like-active-record-queries[/url]
Ответить
1 сообщение
• Страница 1 из 1
Перейти
- Кемерово-IT
- ↳ Javascript
- ↳ C#
- ↳ JAVA
- ↳ Elasticsearch aggregation
- ↳ Python
- ↳ Php
- ↳ Android
- ↳ Html
- ↳ Jquery
- ↳ C++
- ↳ IOS
- ↳ CSS
- ↳ Excel
- ↳ Linux
- ↳ Apache
- ↳ MySql
- Детский мир
- Для души
- ↳ Музыкальные инструменты даром
- ↳ Печатная продукция даром
- Внешняя красота и здоровье
- ↳ Одежда и обувь для взрослых даром
- ↳ Товары для здоровья
- ↳ Физкультура и спорт
- Техника - даром!
- ↳ Автомобилистам
- ↳ Компьютерная техника
- ↳ Плиты: газовые и электрические
- ↳ Холодильники
- ↳ Стиральные машины
- ↳ Телевизоры
- ↳ Телефоны, смартфоны, плашеты
- ↳ Швейные машинки
- ↳ Прочая электроника и техника
- ↳ Фототехника
- Ремонт и интерьер
- ↳ Стройматериалы, инструмент
- ↳ Мебель и предметы интерьера даром
- ↳ Cантехника
- Другие темы
- ↳ Разное даром
- ↳ Давай меняться!
- ↳ Отдам\возьму за копеечку
- ↳ Работа и подработка в Кемерове
- ↳ Давай с тобой поговорим...
Мобильная версия