Пользовательская функция модели для вставки новой записи в 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;
}