私のアプリケーションにJQueryとCakePHPを使用しています。私はこのテーブルでは、テーブルAttributes(id,form_id,label,type)
値の間にスペースがある場合の条件で使用するクエリ
を持って、私が持っている私はid
がform_id
与えられた取得するために、CakePHPのクエリを書かれている
1 1 First name Text
2 1 Lastname Text
のようなエントリと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
です。 しかし、ファーストネームにはスペースが含まれているため、条件がうまくいかなかったのですが、その間にスペースがないため、姓のために機能します。 これを修正するにはどうすればよいですか?
編集:
私はMySQLデータベースを使用しています。ユーザーはフィールド名をそのまま使用できます。 私は例えば、$ _POSTを使用して、フォームからのパラメータの$キーを得た:
foreach ($_POST as $key => $value):
echo $key; //displays First name correctly.
しかし、私は条件で$キーを使用するときに、何のスペースは、それが受け入れラベルの間にない場合にのみ、それは属性を返します。 idは返されません。
"$ key"を使って試したこともありますが、どちらもうまくいきません。
なぜあなたの列にスペースがありますか?どのデータベースを使用していますか?私は最初の名前の間にアンダースコアを入れたり、最初の名前に変更することをお勧めします – jimiyash
条件のスペースがうまくいかない理由は何もありません..どこからパラメータを取得しますか?彼らはurlencodedですか? –
私はMYSQ1データベースを使用しています。ユーザーはフィールド名を何でも保持できます。 私はそれが$ _POST 例えば foreachの($ _POST $などのkey => $値)を使用してフォームを形成し得たパラメータ$キー: は$キーをエコー;正しく//最初に表示される名前を。 しかし、条件の中で$ keyを使用した場合、ラベルの間に空白がなく、id.Else属性は返されません。 – useranon