首页 文章

杂货店回调

提问于
浏览
1

我有一个问题理解和使用Grocery crud回调功能...文档不清楚 .

我有3张 table :

  1. Team $ crud-> fields('TeamID','Name','HomeCountry');
  2. Player $ crud-> fields('PlayerID','Fname','Sname',Title ', ' Role ',' TeamID'); TeamID = FK到团队
  3. ID card $ crud-> fields('PlayerID','StartDate','EndDate','statusID'); PlayerID =玩家的FK

在卡片的主要crud列表页面上,我想要做的是显示每个ID卡链接的团队,但团队和ID没有直接设置关系 .

这是否可以使用回调函数?我有以下的代码格式,但我不知道它在做什么或回调函数的每一位实际意味着什么?

我希望从团队中获取所有信息并提取并显示与有问题的卡相关的团队名称,该卡通过FK链接到特定玩家 .

$crud->callback_column('teamID', function(){  
        $query = $this->db->query("SELECT * FROM");  
    $rows = $query->result();  
        $var = $rows[0]->;  
        /*  
        foreach ($rows as $row) {  
            $var = $row->;  
            //$var2 = $row->;  
            //$var3 = $row->;  
        }  
        * */  
        //$this->db->query("INSERT INTO  () VALUES );");  
        return ;  
    });

抱歉,我不知道如何在此页面上格式化代码,这一切都非常令人讨厌 .

function _add_default_date_value()  //this function adds a text value as     display, date is not stored in database (use post to amend later
    {
        $value = !empty($value) ? $value : date("(d/m/y)");
        $return = '<input type="text" name="date" value="'.$value.'"     class="datepicker-input" /> ';
        $return .= '<a class="datepicker-input-clear" tabindex="-1">Clear</a>     (dd/mm/yyyy)';
        return $return;
    }

1 回答

  • 0

    callback_column:void callback_column(string $ column,mixed $ callback)

    此回调在每一行上运行 . 它会转义自动列值并运行回调 .

    此回调在每一行上运行 . 它会转义自动列值并运行回调 . 对于此回调, return value 是必需的,必须是 string .

    So where it useful ?

    假设你有一些字段说 timestamp ,你的表中的值是 1490295400 并且你想将它显示为 03/24/2017 00:26:40 ,而不是在你的表中更改,你会调用 callback_column

    /* This is your crud method */
    function my_crud()
    {
      $crud = new grocery_CRUD();
      ...
      ...
      $crud->callback_column(
               'timestamp',
               array($this,'_callback_convert_to_human_readable')
      );
      ...
      ...
    
    }
    
    /* So this is your callback */
    function _callback_convert_to_human_readable($value, $row)
    {
         return date("m/d/Y H:i:s", $value);
    }
    

相关问题