在我的模型中选择最后一个记录集的语法
syntax for selecting the last recordset in my model
我尝试了不同的可能性,但没有任何效果,在教程中我也找不到示例。
我的模型类中有一个方法:
public function getlastImport($filename)
{
//$id = (int) $id;
$rowset = $this->tableGateway->select(['Path' => $filename]);
$row = $rowset->current();
if (! $row) {
throw new RuntimeException(sprintf(
'Could not find row with identifier %d',
$id
));
}
return $row;
}
我想检索给定文件名的最后导入,所以 ist 必须像 sql:
select max(ID) from table where filename = $filename;
但是在这种情况下正确的语法是什么?
sql 查询应该是
"SELECT * FROM table_name WHERE filename={$filename} ORDER BY id DESC LIMIT 1"
在您的模型中按以下方式使用
public function getlastImport($filename)
{
$select = $this->tableGateway->getSql()->select();
$select->columns(array('id', 'filename', 'label'));
$select->where(array('filename' => $filename));
$select->order("id DESC");
$select->limit(1);
$result = $this->tableGateway->selectWith($select);
$row = $result->current();
if (! $row) {
throw new RuntimeException(sprintf(
'Could not find row with identifier %d',
$id
));
}
return $row;
}
希望对您有所帮助!
我尝试了不同的可能性,但没有任何效果,在教程中我也找不到示例。
我的模型类中有一个方法:
public function getlastImport($filename)
{
//$id = (int) $id;
$rowset = $this->tableGateway->select(['Path' => $filename]);
$row = $rowset->current();
if (! $row) {
throw new RuntimeException(sprintf(
'Could not find row with identifier %d',
$id
));
}
return $row;
}
我想检索给定文件名的最后导入,所以 ist 必须像 sql:
select max(ID) from table where filename = $filename;
但是在这种情况下正确的语法是什么?
sql 查询应该是
"SELECT * FROM table_name WHERE filename={$filename} ORDER BY id DESC LIMIT 1"
在您的模型中按以下方式使用
public function getlastImport($filename)
{
$select = $this->tableGateway->getSql()->select();
$select->columns(array('id', 'filename', 'label'));
$select->where(array('filename' => $filename));
$select->order("id DESC");
$select->limit(1);
$result = $this->tableGateway->selectWith($select);
$row = $result->current();
if (! $row) {
throw new RuntimeException(sprintf(
'Could not find row with identifier %d',
$id
));
}
return $row;
}
希望对您有所帮助!