5

食料品店では、関連するテーブルの検索は行われません。

検索は、そのテーブルフィールドに対してのみ行われます。

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

ここでは名前の検索は行われていません。

誰もがこれに対する解決策を持っていますか?

前もって感謝します。

4

2 に答える 2

2

こんにちは @DelvinPaul: 問題が解決することを願っています。念のため、解決されない場合は、changeName使用して内部でクエリをデバッグしてみてください

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

これらのステートメントを、changeName 関数の次の行の後に配置します。

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

$config['log_threshold'] = 3;そして、設定ファイルを変更することを忘れないでください。デバッグ後、回答できるように質問を更新してより明確にしてください。

于 2013-03-28T13:38:02.850 に答える