Company hasMany CompanyReview をバインドしようとしています。以下は、コントローラー内のコードです。
public function review() {
$this->uses = array('Search', 'Company', 'CompanyReview');
$this->Company->bindModel(array(
'hasMany' => array(
'CompanyReview' => array(
'className' => 'CompanyReview',
'foreignKey' => 'company_id'
)
)
));
$this->CompanyReview->bindModel(
array(
'belongsTo'=>array(
'Company'=>array(
'className'=>'Company',
'foreignKey'=>'company_id'
)
)
)
);
if (!empty($this->data)) {
switch ($this->data['Search']['search_type']) {
case 'all':
$this->request->data['ReviewResults'] = $this->allReviews($this->data['Search']['search_query']);
break;
case 'company':
$this->request->data = $this->Company->find('all', array(
'conditions' => array(
'OR' => array(
'MATCH(Company.name) against ("' . $this->data['Search']['search_query'] . '" in boolean mode)',
'MATCH(CompanyReview.job_title) against ("' . $this->data['Search']['search_query'] . '" in boolean mode)'
)
)
));
break;
case 'interview':
$this->request->data['ReviewResults'] = $this->interviewReviews($this->data['Search']['search_query']);
break;
case 'salary':
$this->request->data['ReviewResults'] = $this->salaryReviews($this->data['Search']['search_query']);
break;
}
}
}
しかし、私が取得し続けるエラーは次のとおりです:データベースエラー
Error: SQLSTATE[42S22]: Column not found: 1054 Unknown column 'CompanyReview.job_title' in 'where clause'
SQL クエリ:SELECT Company.id, Company.name, Company.industry_id, Company.website, Company.created FROM terbang2.companies AS Company WHERE ((MATCH(Company.name) against ("air" in boolean mode)) OR (MATCH(CompanyReview.job_title) against ("air" in boolean mode)))
注意: このエラー メッセージをカスタマイズする場合は、app/View/Errors/pdo_error.ctpを作成します。
お気づきかもしれませんが、SQL には company_reviews テーブルが含まれていませんでした。どうですか?助けてください!。ありがとう
ところで、company_reviews テーブルには job_title というテーブル行があります。