首页 文章

callback_column不适用于杂货店中的连接表

提问于
浏览
5

我正在尝试使用 callback_column 函数更改列值 .

$crud = new grocery_CRUD();
$crud -> set_table('booking');
//$crud->set_relation('room_id','rooms','name');
$crud->callback_column('room_id',array($this,'_visitor_details_popup'));

此代码运行良好( _visitor_details_popup 函数返回值为 room_id

$crud = new grocery_CRUD();
$crud -> set_table('booking');
$crud->set_relation('room_id','rooms','name');
$crud->callback_column('room_id',array($this,'_visitor_details_popup'));

此代码运行良好( room_id 不变)

public function _visitor_details_popup($value, $row)
{

    $visitor_details=explode(',',$value);
    return '<a href="#">Name'.$visitor_details[1].'<a>'.'<div class="popup_content">Address'.$visitor_details[2].'Email'.$visitor_details[3].'</div>;
}

Is this a bug in grocery crud?? Any tricky way to solve it??

1 回答

  • 7

    我有一个技巧 . 创建一个函数并在callback_column参数上调用它 .

    $crud = new grocery_CRUD();
    $crud -> set_table('booking');
    $crud->set_relation('room_id','rooms','name');
    $crud->callback_column(unique_field_name('room_id'),array($this,'_visitor_details_popup')); verity 
    
    function unique_field_name($field_name) 
    {
        return 's'.substr(md5($field_name),0,8); //This s is because is better for a string to begin               with a letter and not with a number
    }
    

相关问题