#php #codeigniter #codeigniter-3
#php #codeigniter #codeigniter-3
Вопрос:
В моей базе данных есть четыре таблицы с именами ‘user_login’, ‘store’, ‘admin’, ‘store_product’. когда я пытаюсь извлечь данные из таблицы user_login, это не работает. Мои коды, как показано ниже:
Форма просмотра:
<form method="get">
Enter city: <input type ="text" name="city">
Enter search keyword: <input type="text" name="searchB">
<button type="submit"> Submit </button>
</form>
Контроллер:
public function search()
{
$this->load->model('searchmodel');
$fc = $this->input->get('city');
$sb = $this->input->get('searchB');
$rr=$this->searchmodel->searchDetail($sb,$fc);
$data['results'] = $rr;
$this->load->view('search/detailResults',$data);
}
Модель
public function searchDetail($data,$datacity){
$this->db->select();
$this->db->from('user_login');
$this->db->join('store', 'store.vendor_bri = user_login.bri', 'full outer');
$this->db->join('admin', 'admin.bri = user_login.bri', 'full outer');
$this->db->join('store_product', 'store_product.vendor_bri = user_login.bri', 'full outer');
$this->db->having('store.town', $datacity);
$this->db->or_having('store.country', $datacity);
$this->db->like('user_login.business_name',$data, 'both');
$this->db->or_like('user_login.business_type', $data);
$this->db->or_like('user_login.speciality', $data);
$this->db->or_like('store.locality', $data);
$this->db->or_like('store.vendor_bri', $data,'none');
$this->db->or_like('store_product.pd_universal_code', $data,'none');
$this->db->or_like('store_product.pd_name', $data);
$this->db->or_like('store_product.pd_description', $data);
$query = $this->db->get();
return $query->result_array();
}
Комментарии:
1. Есть ли какие-либо ошибки?
2. Ошибки нет. это дает результат, если доступно более одного объекта. это означает, что если ‘John’ доступен в двух или более строках, то это дает результат, но если ‘John’ доступен в одной строке, то это не дает никакого результата.