2013-03-08 19 views
5

Trong crud tạp hóa, tìm kiếm không xảy ra đối với các bảng có liên quan.Tìm kiếm không xảy ra trong thùng rác tạp hóa

Tìm kiếm chỉ xảy ra cho các trường bảng đó.

function index() { 
    $crud = new grocery_CRUD(); 
    $crud->set_theme('flexigrid'); 
    $crud->set_table('table_name'); 
    $crud->display_as('id','Name'); 
    $crud->callback_column('id', array($this, 'changeName')); 
    $output = $crud->render(); 
} 

function changeName($value, $row) { 
    $new = $this->db->select('name')->where('another_table.id', $row->id)->get('another_table')->result(); 
    if(!empty($new)){ 
     return $new[0]->name; 
    } else { 
     return $value; 
    } 
} 

đây tìm kiếm không xảy ra cho tên.

Bất kỳ ai có giải pháp cho điều này?

Xin cảm ơn trước.

+0

số lượng kết quả được trả lại trong truy vấn 'changeName' của bạn? Bạn mong đợi bao nhiêu kết quả? – ekims

+0

Hai ekims, changeName chỉ dành cho id thay đổi thành các tên tương ứng. Sau khi thay đổi này, chúng ta không thể tìm kiếm những cái tên này ... Chỉ có chúng ta mới có thể tìm kiếm các trường bảng tương ứng ... Yêu cầu của tôi là tìm kiếm những tên này trong DataGrid. –

Trả lời

2

Xin chào @DelvinPaul: Tôi hy vọng vấn đề của bạn đã được giải quyết. Chỉ trong trường hợp nếu nó không được giải quyết, hãy thử gỡ lỗi truy vấn của bạn bên changeName sử dụng

log_message('info','Query: '.$this->db->last_query()); 
log_message('info','Result Returned: '.print_r($new,true)); 

đưa các báo cáo sau khi dòng sau trong chức năng changeName của bạn:

$new = $this->db->select('name')->where('another_table.id', $row->id)->get('another_table')->result(); 

Và đừng quên thay đổi $config['log_threshold'] = 3; trong tệp cấu hình của bạn. Sau khi gỡ lỗi, vui lòng cập nhật câu hỏi của bạn để rõ ràng hơn để chúng tôi có thể trả lời.

0

Sử dụng

$crud->set_theme('datatables'); 

Thay vì

$crud->set_theme('flexigrid'); 

và u sẽ có nó làm việc. Vấn đề này chỉ với chủ đề flexgrid.

+0

Đã thử .. Không sử dụng ... –

+0

Hows rằng chủ đề người dùng có thể datables được sử dụng Jquery datatables và nếu lưới của bạn là populating đúng nó phải được searcahble .. –