2015-09-27 39 views
0

我正在使用Ignited Datatables庫並在我的腳本中使用add_column函數來設置一些編輯和刪除按鈕。這是我的腳本Ignited Datatables - add_column中的鏈接問題

$this->datatables->select('posts.id, posts.title') 
     ->select('DATE_FORMAT(`date_published`, \'%d-%m-%Y\') AS `date_published`', false) 
     ->select('posts_categories.title as category') 
     ->from('posts') 
     ->join('posts_categories', 'posts.category_id = posts_categories.id', 'left') 
     ->unset_column('id') 
     ->add_column('Actions', btn_edit('admin/posts/edit/$1') . ' ' . btn_delete('admin/posts/delete/$1'), 'id'); 
     return $this->datatables->generate(); 

的問題是,文章ID不會在按鈕的URL傳遞,而不是我得到這個:admin/posts/edit/id,它應該是admin/posts/edit/1

回答

0

最終我找到了解決問題的辦法。

在選擇()語句,我這樣做,正確的工作:

$this->datatables->select('posts.id AS pid, posts.title') 

似乎有在兩個表的主鍵查詢衝突,東陽我同時設置爲idposts.idposts_categories.id)。

因此,回到查詢時,我設置posts.id AS pid作爲別名,這解決了我的問題。

0

當包裝變量得到他們的價值觀,你必須使用雙引號。所以這裏應該是:

->add_column('Actions', btn_edit("admin/posts/edit/$1") . ' ' . btn_delete("admin/posts/delete/$1"), 'id'); 

Docs

+0

不,它似乎沒有工作..我注意到這一點,當我需要加入後類別..在此之前(或如果我從查詢中刪除JOIN和選擇類別)它工作得很好並且也帶有單引號 – Lykos

+0

奇怪。即使在Datatables文檔中,雙引號也用於此示例。 – Tpojka

+0

只有JOIN語句出現問題。如果我刪除此鏈接工作正常 – Lykos

0

只需簡單地調用數據庫字段名稱代碼像

$這個 - > datatables->選擇( 'posts.id爲ID,posts.title') - >選擇(「DATE_FORMAT(date_published, ('posts') - > join('posts_categories','%d-%m-%Y')AS date_published',false) - > select('posts_categories.title as category') - > from ''''。''。''。''。''。''。''。''''。''。''。' - > unset_column('id') - > add_column('Actions',btn_edit('admin/posts/edit/$ 1')。''。btn_delete 'admin/posts/delete/$ 1'),'id'); return $ this-> datatables-> generate();

您只是想呼叫posts.id作爲編號。你通過什麼名稱作爲變量,你需要在選擇命令中選擇相同的變量名稱