2017-03-23 3 views
1

私は問題を理解しており、食料雑貨のクルードコールバック機能を使用しています...ドキュメントは明確ではありません。食料雑貨の無駄なコールバック

私は3つのテーブルがあります。
1. チーム $ crud->フィールド( 'TeamID'、 '名前'、 'HomeCountryを');
2. プレーヤー $ crud->フィールド( 'PlayerID'、 'Fname'、 'Sname'、Title '、' Role '、' TeamID ');チームID = FKチームへ
3. IDカード $ crud->フィールド( 'PlayerID'、 'StartDate'、 'EndDate'、 'statusID'); PlayerID = FK to player

カードの主要なcrudリストページでは、各IDカードがどのチームにリンクされているかを示していますが、チームとIDは直接関係を設定していません。

これはコールバック機能で可能ですか?私はfoloowingコードフォーマットを持っていますが、私は何をしているのか、コールバック関数の各ビットが実際に意味するものは何ですか?

チームからすべての情報を得て、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; 
    } 
+0

を呼び出します。これは、call-であると言います$ c-> callback_column( 'menu_title'、array($ this、 '_ callback_webpage_url'));パブリック関数_callback_webpage_url($ value、$ row) { return "id)."'>$value"; } – user3185534

答えて

0

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

このコールバックは、それぞれの行で実行されます。 auto列の値をエスケープし、コールバックを実行します。

このコールバックは各行で実行されます。 auto列の値をエスケープし、コールバックを実行します。このコールバックの場合は、return valueが必要です。文字列である必要があります。

どこが便利ですか?

はあなたには、いくつかのフィールドを持っていると、その値は、あなたのテーブルで1490295400であり、あなたは03/24/2017 00:26:40として、それを表示したいtimestampは、代わりにあなたのテーブルに変更するので、あなたが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); 
} 
+0

aaahhh okありがとう...これは表示専用です。私はフィールドで現在の日付を表示するためにこれを動作させるが、そのフィールドが空のままになっている場合、データベースに表示されている現在の日付を格納するオプションが必要な場合はどうすればよいですか? – user3185534

+0

私は使用した日付機能を追加しました – user3185534

関連する問題