1
私はコードCakePHPの検索機能
foreach($words as $word) {
$search = '%'.$word.'%';
$query['conditions'][]['or'] = array(
'ProductComponent.codice LIKE' => $search,
'ProductComponent.nome'.__('_it', true).' LIKE' => $search,
'ComponentType.nome'.__('_it', true).' LIKE' => $search,
'Material.nome'.__('_it', true).' LIKE' => $search,
'Finish.nome'.__('_it', true).' LIKE' => $search,
'ClientCode.client_component_code LIKE' => $search,
);
}
のこの部分を持っていると私はクエリを実行すると、私はこのエラーを有する
Warning (512): SQL Error: 1054: Unknown column 'ClientCode.client_component_code' in 'where clause' [CORE/cake/libs/model/datasources/dbo_source.php, line 684]
このテーブル
CREATE TABLE IF NOT EXISTS `client_codes` (
`id` int(10) NOT NULL auto_increment,
`user_id` int(10) NOT NULL,
`product_component_id` int(10) NOT NULL,
`client_component_code` varchar(255) NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 AUTO_INCREMENT=225 ;
あります
これはClientCodeモデルです
<?php
class ClientCode extends AppModel {
var $name = 'ClientCode';
var $belongsTo = array('ProductComponent', 'User');
}
?>
これらは助けてください...なぜ私は理解していないProductComponentモデルの関係
<?php
class ProductComponent extends AppModel {
var $name = 'ProductComponent';
var $belongsTo = array('ComponentType', 'Material', 'Finish','Line');
var $hasMany = array(
'Part',
'RelatedComponent',
'LineRelatedComponent' => array(
'className' => 'RelatedComponent',
'conditions' => array('NOT' => array('LineRelatedComponent.line_id' => NULL)),
),
'GenericRelatedComponent' => array(
'className' => 'RelatedComponent',
'conditions' => array('GenericRelatedComponent.line_id' => NULL),
),
'CustomPriceList',
'PriceList',
'ClientCode'
);
var $hasAndBelongsToMany = array('Upload');
です。ありがとう!
データベースに 'ClientCode.client_component_code'という列がありますか? –
最後の条件だけがうまくいかない、他はうまく動作する –
はい私のデータベースにその列がある –