Я хотел бы использовать метод динамического поиска. Я видел в the documentation$this->Users->findByUsername
. Моя проблема в том, что мое имя столбца - post_id
, и я не уверен, как подчеркивание влияет на имя моей функции динамического поиска. Вот те, которые я пробовал до сих пор и, похоже, не может получить работуCakePHP 3 Динамические искатели с символами подчеркивания
findByPost_id($post_id)
findByPost_Id($post_id)
findByPost_ID($post_id)
findByPostId($post_id)
Для контекста здесь является то, что мой код выглядит
//VotesTable.php
public function afterSaveCommit($event, $entity, $options) {
if ($entity->vote_type_id == self::favorite) {
$qt = TableRegistry::get('questions');
$question = $qt->findByPostId($entity->post_id);
$question->favorite_count = $question->favorite_count + 1;
if (! $qt->save($question)) {
throw new \Exception("Unable to update favorite count", 500);
}
}
}
При входе $question
он выдает запрос, а не объект, и запрос не может быть запущен. она заканчивается WHERE 'questions'.'post_id' = :c0
Здесь размещается весь код. Когда я использую динамические загрузчики, я использую 'findByPostId', и он работает. Это должно быть где-то в другом месте. – spencdev