我正试图用cakedc插件开发一个简单的搜索表单,我一步一步地执行说明,但是我得到了下一个错误:
Database Error错误: SQLSTATE42000:语法错误或访问冲突: 1064您的SQL语法有错误;检查与MySQL服务器版本对应的手册,以获得在第1行“validateSearch”附近使用的正确语法。
SQL查询: validateSearch
我不知道我做错了什么,你能帮我吗?,这就是我要做的,谢谢。在主计长中:
class ProductosController extends AppController {
public $name = 'Productos';
public $uses = array('Empleado','Cliente', 'Mesa','Producto', 'Productotipo','Productos');
public $components = array('Search.Prg');
public $presetVars = true;
public $paginate=array();
public function ventas(){
$this->Prg->commonProcess();
$this->paginate['conditions'] = $this->Producto->parseCriteria($this->Prg->parsedParams());
$this->set('productos', $this->paginate());
}在“模式”中:
class Producto extends AppModel {
public $name = 'Producto';
public $displayField = 'productotipos_id';
public $belongsTo = array('Productotipo'=>array('className'=>'Productotipo','foreignKey'=>'productotipos_id','conditions'=>'','order'=>''));
public $actsAs = array('Search.Searchable');
public $filterArgs = array(
'nombre' => array('type' => 'like')
);在视野中
<?php echo $this->Form->create('Producto', array('url' => array_merge(array('action'=>'ventas'), $this->params['pass'])));?>
<fieldset>
<legend>Pedido</legend>
<?php
echo $this->Form->input('Producto.nombre', array('div'=>false, 'empty'=>true));
echo $this->Form->submit(__('Search', true), array('div' => false));
echo $this->Form->end();
?>
</fieldset>发布于 2014-01-10 23:30:38
尝试重新排序$uses,控制器的模型将是第一个:
public $uses = array('Producto', 'Empleado', 'Cliente', 'Mesa', 'Productotipo');应该能帮上忙。不知道为什么,但是CakeDC搜索插件中的一些方法可能取决于这个数组中的第一项。
发布于 2014-01-02 22:24:35
SQL查询: validateSearch
当您试图调用不存在的模型方法时,通常会出现错误。
因此,无论您尝试如何分页(不粘贴类声明不是一个好主意.)由于某种原因不使用可搜索行为。
在这种情况下,模型是正确的,行为没有加载,因为某些原因,您必须弄清楚。
https://stackoverflow.com/questions/20889380
复制相似问题