cakephp가 올바르게 쿼리하는 데 문제가 있습니다. Cake는 테이블 중 하나에 존재하지 않는 열을 찾으려고 노력하고 있는데 그 이유를 알 수 없습니다. 나는 이것과 관련된 두 개의 테이블을 가지고있다; 투표 및 게시물. 사용자는 게시물에 투표 할 수 있습니다. 여기 cakephp가 추가 열을 쿼리하고 있는데 이유를 알 수 없습니다.
는 테이블Table votes
post_id | user_id | vote
table posts
post_id | tite | body | created | modified | user_id | vote_total
후 자신의 투표에 사용자 투표가 투표 테이블에 배치됩니다
, 그리고 vote_total은 자신의 투표에 의해 감소 / 증가됩니다.게시물의 색인에서 사용자는이 두 링크를 통해 게시물에 투표 할 수 있습니다. 내가 게시물을 표시 index.ctp를 볼 때 지금 나는 모두 하나의 작업을 얻을 수있는 동일한 기능을 보낸 후, 나는 다른
<td><?php echo $this->Html->link('Upvote', array('action' => 'vote', $post['Post']['id']))?>
<?php echo $this->Html->link('Downvote', array('action' => 'Downvote', $post['Post']['id']));?></td>
을 완료거야, 나는 다음과 같은 오류를 얻을
Error: SQLSTATE[42S22]: Column not found: 1054 Unknown column 'Post.id' in 'field list'
여기 그래서, 내 문제는 Post.id가에서 조회되는 어디 모르겠입니다 그것은
SQL Query: SELECT `Post`.`post_id`, `Post`.`title`, `Post`.`body`, `Post`.`created`, `Post`.`modified`, `Post`.`user_id`, `Post`.`vote_total`, `Post`.`id` FROM `blog`.`posts` AS `Post` WHERE 1 = 1
을 예비 성형 된 쿼리입니다. 나는 내 기능과 모델을 조사해 왔고 무슨 일이 일어나고 있는지 알 수 없다.
여기에 기능이
public $hasMany = array(
'Votes' => array(
'className' => 'Vote',
)
);
그래서, 내 질문에 내가 post.id를 조회하는 원인이 케이크 무슨 일을하고있다 내 게시물 모델에서 내가 PostsController public function vote($id=null){
$this->layout = 'votes_layout';
$this->Post->Votes->recursive = 0;
$this->Post->id = $id;
$user = $this->Auth->User();
$userid = $user['id'];
$conditions = array('votes.id' => $id, 'votes.user_id' => $userid);
$data = $this->Post->Votes->find('all', array('conditions' => $conditions));
if (isset($data) && !empty($data)) {
echo '<p>User have already give a vote!</p>';
} else {
if($this->Post->Votes->validates()){
if ($this->Post->Votes->save($this->request->data)) {
$this->Session->setFlash(__('The vote has been saved'));
$this->redirect(array('action' => 'vote'));
} else {
$this->Session->setFlash(__('The vote could not be saved. Please, try again.'));
}
}
}
}
입니까? 내 테이블의 열조차도 아니며 쿼리가 어디에서 왔는지 파악할 수 없습니다.
내가 오류를 조회하는 것은 사라지고 내 게시물 모델의 투표에 대한 hasMany의 관계를 제거 할 수 있지만 나는 테이블에 모든 단일 포스트 필드를 참조하는 다음과 같은 오류가 편집.
Undefined index: id
과장 관계가 아닙니까? 각 게시물에는 다수의 투표가 있지만 각 사용자는 게시물 당 1 개의 투표 만 있습니다.
-1로 변경했는데 아무 것도 변경되지 않았습니다. 나는 containable 정보를 조사했지만 아무 일도 없었다고 생각하지 않습니다. – user1406951