Пользовательская функция модели для вставки новой записи в cakephp 3

Я новичок в CakePHP. У меня есть таблица для учета активности пользователя, создав в ней журнал. Таблица имеет две колонки

+----+------------+-----------+
| 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;
}

Но не могу понять, как написать запрос вставки внутри модели. Как я могу создать такие собственные методы, а также кто-нибудь может предложить мне хороший ресурс для прохождения модельных запросов и понимания.

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;
}
Другие вопросы по тегам