查询要在条件中使用,当空间介于值之间时

时间:2009-07-06 03:30:09

标签: php mysql cakephp

我正在为我的应用程序使用JQuery和CakePHP。我有一张桌子Attributes(id,form_id,label,type)

在此表中,我有一个类似

的条目
1 1 First name Text
2 1 Lastname Text

我已经编写了一个CakePhp查询,以便在idform_id

的情况下检索label
$attri = $this->Attribute->find('all', array(
   'fields'=> array('Attribute.id'),
   'conditions' => array(
      'Attribute.form_id' => $id,
      'Attribute.label' => $key
   )
));

其中$key是我的label$id是我的form_id。 但是,由于名字包含介于两者之间的空格,因此条件不能很好地工作,但它适用于Lastname,因为它之间没有空格。 我该如何解决这个问题?

编辑:

我正在使用MySQL数据库。用户可以保留任何字段名称。 我使用$ _POST从表单中获取了参数$ key,例如:

foreach ($_POST as $key => $value): 
echo $key; //displays First name correctly. 

但是当我在条件中使用$ key时,只有当它接受的标签之间没有空格时,它才会返回属性id,否则不会返回任何内容。

我甚至尝试使用“$ key”,但它也不起作用。

1 个答案:

答案 0 :(得分:0)

错误必须在您的代码中的其他位置。在用于条件的值中包含空格是完全正常的。有关示例,请参阅this page in the CakePHP book。 CakePHP会自动为您转义值,以便它们可以工作,即使是空格也是如此。

查看你的属性模型,看看在beforeFind或afterFind回调中会发生什么。