我有两段代码..。在我的脑海里,它们是一样的,但一个能用,一个不能用。希望有人能帮我弄清楚。
此代码不起作用。它返回整个表,忽略orderby和限制。
public function getNews($limit = null)
{
$select = new Select();
$select->order('Date DESC');
if($limit != null)
{
$select->limit($limit);
}
$result = $this->gateway->select($select);
return $result;
}这段代码被重新安排为使用匿名函数,并且工作得很好。
public function getNews($limit = null)
{
$result = $this->gateway->select(
function(Select $select) use ($limit)
{
$select->order('Date DESC');
if($limit != null)
{
$select->limit($limit);
}
}
);
return $result;
}任何洞察力都将不胜感激。
发布于 2013-04-19 08:58:13
第二种方法是如何使用TableGateway::select方法。您可以向它传递一个简单的where谓词数组,或者传递一个在Select对象上执行更复杂操作的Closure。
有关更多详细信息,请查看documentation on TableGateway。
https://stackoverflow.com/questions/16091149
复制相似问题