을 찾기 문을 사용하고 가입 I이 사용자간에 우정을 수 있습니다 내 CakePHP의 응용 프로그램은 다음 표 :목록 데이터 테이블
**Users**
id
username
password
**Profiles**
id
firstname
lastname
user_id
**Friends**
id
user_id_to
user_id_from
status
을 그래서 기본적으로 사용자가 프로파일을 가지고 있으며, 사용자가 다른 사용자와 친구가 될 수 있으며, 이것은 단순 상태가 확인되었거나 0 또는 1을 사용하지 않는 friends라는 데이터베이스 테이블에 기록됩니다 (int 임). 그래서 친구는 두 명의 사용자 사이의 조인입니다. 는 사용자 카메론의 친구 목록이 표시됩니다
/people/cameron/friends
:
그러나 find 문을 사용하여 사용자를 전달하고 프로필 데이터가있는 것을 확인한 다음 해당 사용자와 관련된 친구를 나열하는 데 어려움을 겪고 있습니다. 누구든지 도와 줄 수 있습니까?
이 프렌드, 사용자 및 프로필 모델입니다 :
class Friend extends AppModel
{
public $name = 'Friend';
public $belongsTo = array('User');
public $actsAs = array('Containable');
}
User.php는
class User extends AppModel
{
public $name = 'User';
public $hasOne = 'Profile';
public $hasMany = array(
'Post',
'Answer',
'Friend' => array(
'foreignKey' => 'user_id_to'
)
);
public $belongsTo = array(
'Friend' => array(
'foreignKey' => 'user_id_from'
)
);
public $actsAs = array('Containable');
public function getFriends($username)
{
return $this->find('all',
array('conditions' => array('User.username' => $username, 'Friend.status'=>1),
'contain' => array('Friend' => array('User'))
));
}
}
Profile.php
class Profile extends AppModel
{
public $name = 'Profile';
public $belongsTo = 'User';
public $actsAs = array('Containable');
}
이는 친구를 보여주는 내 방법입니다 사용자 목록 :
public function index($username)
{
$friends = $this->User->getFriends($username);
$this->set('friends', $this->paginate());
}
나는 현재이 오류를 받고 있어요 :
Error: SQLSTATE[42S22]: Column not found: 1054 Unknown column 'User.user_id_from' in 'on clause'
SQL Query: SELECT `User`.`id`, `User`.`username`, `User`.`password`, `User`.`email`, `User`.`status`, `User`.`code`, `User`.`lastlogin`, `Friend`.`id`, `Friend`.`user_id_from`, `Friend`.`user_id_to`, `Friend`.`datetime`, `Friend`.`status` FROM `db52704_favorr`.`users` AS `User` LEFT JOIN `db52704_favorr`.`friends` AS `Friend` ON (`User`.`user_id_from` = `Friend`.`id`) WHERE `User`.`username` = 'cameron' AND `Friend`.`status` = 1
앱이 외래 키는 사용자 테이블보다는 그들이 친구 협회 내에서 호출에도 친구 테이블에 생각하는 것처럼 것 같습니다 ... 문제는 무엇입니까?
모든 업데이트를 나는 그것을 확신으로 뭔가 간단하게 잘못된 장소에있어 ... 감사합니다 – Cameron