自定义模型函数在cakephp 3

时间:2017-01-26 18:06:21

标签: cakephp cakephp-3.x cakephp-model

我是CakePHP的新手。我有一个表,通过在其中创建日志来记录用户的活动。该表有两列

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

我想从控制器中传递值,如

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

logActivityLogs模型中的自定义函数,它会记录更多数据以及传递的数据

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

   return true;
}

但无法获得如何在模型中编写插入查询。 如何创建这样的自定义方法,任何人都可以建议我通过模型查询和理解获得良好的资源。

1 个答案:

答案 0 :(得分: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;
}