【发布时间】:2010-04-21 19:04:19
【问题描述】:
我想知道这个查询是什么意思:
$blogPost = Doctrine_Query::create()->from('BlogPost p')->where('p.slug = ?', 'doctrine-released')->execute();
有人能解释一下吗?给我?
谢谢
【问题讨论】:
标签: doctrine
我想知道这个查询是什么意思:
$blogPost = Doctrine_Query::create()->from('BlogPost p')->where('p.slug = ?', 'doctrine-released')->execute();
有人能解释一下吗?给我?
谢谢
【问题讨论】:
标签: doctrine
我猜,但我敢打赌,? 只是一种表示“这里有一个变量,我稍后会填充它”的方式,就像其他 SQL 变体中的正常绑定一样。在您的示例中,这意味着 ? 在执行时扩展为“doctrine-released”。也就是说,查询变成了where p.slug = 'doctrine-released'
【讨论】:
如果有一个变量作为参数,那么 '?'用其他明智的'?不需要。
例如:
$blogPost = Doctrine_Query::create()->from('BlogPost p')->where('p.slug = ?', $doctrine-released)->execute();
如果是字符串作为参数
$blogPost = Doctrine_Query::create()->from('BlogPost p')->where('p.slug' = 'doctrine-released')->execute();
【讨论】: