2017-01-26 77 views
1

我是CakePHP的新手。我有一個表格通過創建一個日誌來記錄用戶的活動。該表有兩列在cakephp中插入新記錄的自定義模型函數3

+----+------------+-----------+ 
| id | user_id | comment | 
+----+------------+-----------+ 

我想從控制器內傳遞值一樣

$this->ActivityLogs->log($user_id, 'Message sent'); 

log裏面ActivityLogs模型的自定義功能,它可以記錄更多的數據與傳遞的數據

public function log($user_id = null, $message = null) 
{ 
    ... record code goes here 

    return true; 
} 
沿

但是無法得到如何在模型中寫入插入查詢。 如何創建像這樣的自定義方法,並且任何人都可以通過模型查詢和理解向我提供良好的資源。

+0

採取這一頁https://book.cakephp.org/3.0/en/orm/saving-data.html的旅遊,它可以幫助你 –

+0

如果你會試圖查看文檔,你可以在左欄的主要部分看到:https://book.cakephp.org/3.0/en/core-libraries/logging.html – burzum

回答

1
public function log($user_id = null, $message = null){ 
    //I assume here that your table name is 'logs' 
    $logsTable = \Cake\ORM\TableRegistry::get('Logs', array('table' => 'logs')); 
    $log = $logsTable->newEntity(); 

    $log->user_id = $user_id; 
    $log->body = $message ; 

    if ($logsTable->save($log)) { 
     return true; 
    } 
    return false; 
}