CakePHP,为多选框设置复杂/多个查找条件
我有一个名为“制造商名称”的多选框,该框显示正确,甚至可以单击进行多重搜索。当我运行搜索时,我没有使用我设置的复杂查找条件从数据库中获得任何结果。我尝试使用面包店和其他各种网站的 Complex-Find-Conditions 但无济于事。
//This my index.ctp
<?=$form->create('ManufacturersProductsLine', array('action'=>'index'));?>
<table width="100%" border="0" cellspacing="0" cellpadding="0">
<tr>
<td>
<?=$f->label('ManufacturersProductsLine.manufacturer_id', 'Manufacturer Name:'); ?>
<?=$f->select('ManufacturersProductsLine.manufacturer_id', $manufacturers, null, array('multiple'=>'multiple', 'style'=>'height:100px;'))?>
</td>
<td>
<?=$f->label('ManufacturersProductsLine.name', 'Product Name:'); ?>
<?=$f->text('ManufacturersProductsLine.name', array('style'=>'width:140px;'));?>
</td>
<td>
<label></label>
<input name="Search" class="blue" type="submit" value="Search Product Lines" />
</td>
</tr>
</table>
注释掉的是我在控制器中尝试设置多个查找条件的内容。
//This is my manufacturers_products_lines_controller.php
function index() {
$conditions = array();
if (!empty($this->data)) {
$data = $this->data;
$conditions[] = "(LOWER(ManufacturersProductsLine.manufacturer_id) LIKE '%{$data['ManufacturersProductsLine']['manufacturer_id']}%')";
//$conditions = array("ManufacturersProductsLine.name" => array("Akuret", "Bridgestone", "American Radials") );
debug($this->data);
}
$this->Manufacturer->recursive = 1;
$this->set('manufacturersproductslines', $manufacturersproductslines = $this->paginate('ManufacturersProductsLine', $conditions));
$Manufacturer = getModel('Manufacturer');
$this->set('manufacturers', $Manufacturer->find('list'));
//$this->ManufacturersProductsLine->recursive = 0;
//$this->Post->find('all', array('conditions' => array('ManufacturersProductsLine.manufacturer_id' =>array(0,1,2,3,4,5,6,7,8,9,10,11,12,13))));
}
当我调试和搜索时,我得到以下信息。
Array
(
[ManufacturersProductsLine] => Array
(
[manufacturer_id] => Array
(
[0] => 1
[1] => 2
)
[name] =>
)
)
I have a multi-select box named Manufacturer Name that is displaying correctly, even clickable for multi search. When I run the search I am not getting any results from my database using the complex find conditions I set. I've tried to use Complex-Find-Conditions from the bakery, and other various websites but no avail.
//This my index.ctp
<?=$form->create('ManufacturersProductsLine', array('action'=>'index'));?>
<table width="100%" border="0" cellspacing="0" cellpadding="0">
<tr>
<td>
<?=$f->label('ManufacturersProductsLine.manufacturer_id', 'Manufacturer Name:'); ?>
<?=$f->select('ManufacturersProductsLine.manufacturer_id', $manufacturers, null, array('multiple'=>'multiple', 'style'=>'height:100px;'))?>
</td>
<td>
<?=$f->label('ManufacturersProductsLine.name', 'Product Name:'); ?>
<?=$f->text('ManufacturersProductsLine.name', array('style'=>'width:140px;'));?>
</td>
<td>
<label></label>
<input name="Search" class="blue" type="submit" value="Search Product Lines" />
</td>
</tr>
</table>
Commented out is things I have tried in my controller for setting the multiple find conditions.
//This is my manufacturers_products_lines_controller.php
function index() {
$conditions = array();
if (!empty($this->data)) {
$data = $this->data;
$conditions[] = "(LOWER(ManufacturersProductsLine.manufacturer_id) LIKE '%{$data['ManufacturersProductsLine']['manufacturer_id']}%')";
//$conditions = array("ManufacturersProductsLine.name" => array("Akuret", "Bridgestone", "American Radials") );
debug($this->data);
}
$this->Manufacturer->recursive = 1;
$this->set('manufacturersproductslines', $manufacturersproductslines = $this->paginate('ManufacturersProductsLine', $conditions));
$Manufacturer = getModel('Manufacturer');
$this->set('manufacturers', $Manufacturer->find('list'));
//$this->ManufacturersProductsLine->recursive = 0;
//$this->Post->find('all', array('conditions' => array('ManufacturersProductsLine.manufacturer_id' =>array(0,1,2,3,4,5,6,7,8,9,10,11,12,13))));
}
When I debug and search I am getting the following.
Array
(
[ManufacturersProductsLine] => Array
(
[manufacturer_id] => Array
(
[0] => 1
[1] => 2
)
[name] =>
)
)
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
尝试将查询条件更改为此
try changing the query condition to this