如何使用cakephp中的原始查询将特定输出返回给变量

时间:2014-12-18 08:14:07

标签: php cakephp

我有一个需要特定查询值的变量

  

$ player_id_owner = $ this->播放器 - > fetchAll('从播放器中选择ID   其中name =?',array($ name));

 $player_id_owner = ($this->Player->find('all', array(
                    'fields' => array('id'),
                    'conditions' => array('Player.name' => '$name')
                    )));

我尝试了原始查询和cakephp查找,但两者都只返回“数组”

我忘记了什么吗?如何从查询中访问预期结果?感谢

2 个答案:

答案 0 :(得分:0)

'Player.name' => '$name'

是无效的PHP代码,至少不是你尝试做的。 不要将变量转义为字符串:

'Player.name' => $name

通过在调试工具包或视图底部检查生成的查询,您可以很容易地看到它。

如果你只希望在这里输入一个条目,那么很可能你会想要使用find('first', ...)

最后但并非最不重要: 你很可能只是缺乏基本的调试技巧。不要回应它,因为它确实是一个阵列。永远不要使用未知变量,因为它们通常都是基本字符串。 使用debug()查看内部的内容,然后正确回显您看到的内容,例如: echo $player['Player']['name'];

请记住,输出上的h()应保证字符串输出:

echo h($player['Player']['name']);

答案 1 :(得分:0)

试试这个

 $player_id_owner = $this->Player->find('first', array(
                      'fields' => array('id'),
                      'conditions' => array('Player.name' => $name)
                    ));

或尝试(您也可以使用您的变量而不是您的名字)

'conditions' => array('Player.name LIKE' => "%yourname%")

之后你可以用

获取id
$player_id_owner['Player']['id']