2013-03-08 8 views
5

W sklepie spożywczym wyszukiwanie nie dotyczy powiązanych tabel.Wyszukiwanie nie dzieje się w sklepie spożywczym crud

Wyszukiwanie odbywa się tylko dla tych pól tabeli.

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; 
    } 
} 

Tutaj wyszukiwania nie dzieje się za nazwą.

Ktoś ma rozwiązanie tego?

Z góry dziękuję.

+0

Ile wyników jest retunowanych w zapytaniu 'changeName'? Ile oczekujesz wyników? – ekims

+0

Hai ekims, changeName jest tylko dla zmiany id na odpowiednie nazwy. Po tej zmianie nie możemy przeszukiwać tych nazw ... Tylko możemy przeszukać odpowiednie pola tabeli ... Moim żądaniem jest przeszukanie tych nazw w crud datagrid. –

Odpowiedz

2

Witam @DelvinPaul: Mam nadzieję, że Twój problem został rozwiązany. Tylko w przypadku, jeśli jej nie rozwiązany, spróbuj debugowania zapytanie wewnątrz changeName użyciu

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

umieścić te oświadczenia po następnej linii w swojej funkcji changeName:

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

I nie zapomnij zmienić $config['log_threshold'] = 3; w twój plik konfiguracyjny. Po debugowaniu zaktualizuj pytanie, aby uzyskać większą jasność, abyśmy mogli odpowiedzieć.

0

Zastosowanie

$crud->set_theme('datatables'); 

Zamiast

$crud->set_theme('flexigrid'); 

iu mieć to działa. Ten problem dotyczy tylko motywu flexgrid.

+0

Próbowałem .. Nie ma zastosowania ... –

+0

Pokazuje, że możliwe motywy datable man używają datatables Jquery i jeśli siatka zapełnia się poprawnie, musi być searcahble .. –

Powiązane problemy