我试着用甲骨文测试敏捷工具包,在建立了一个模型并试图显示一个网格之后,它说“没有找到任何记录”。
让我告诉你我做了什么,因为我一直在猜测大部分配置,因为我没有找到oracle的向导。
类DB_dsql_oci扩展了DB_dsql {函数限制($cnt,$shift=0){ $cnt+=$shift;$$cnt+=$shift->其中(‘NUM_ROWS>=’,$shift);$this->其中(‘NUM_ROWS<’,$cnt);返回$this;}函数render_limit(){返回‘;}}
并放置在:...atk4\lib\DB\dsql
public $bt='';我设法运行数据库测试,它说“成功地连接到数据库”。
然后我创建了一个像这样的模型"lib\Model\Mytable.php“:
<?php
class Model_Mytable extends Model_Table {
public $table = "MYTABLE";
function init(){
parent::init();
$this->addField('ID');
$this->addField('NAME');
$this->addField('INIDATE');
$this->addField('ENDDATE');
}
?>在那之后,我做了一个新的页面,并尝试使用这样的模型:
<?php
class page_test extends Page {
function init(){
parent::init();
$form = $this->add('Grid');
$form->setModel('Mytable');
}
}
?>刷新浏览器后,它将显示网格,上面写着“没有找到记录”
我想知道发生了什么,那个表无疑有记录,所有的数据都被提交了,并且我确信oracle是在解析查询,因为如果我遗漏了一个列名,那么oracle错误就会引发。
有线索吗?
发布于 2014-09-13 23:33:33
这样您就可以简单地将DSQL设置为视图(例如,网格)数据源:
class page_test extends Page_Basic
{
function init()
{
parent::init();
// DSQL
$q = $this->api->db->dsql();
$q->table('MYTABLE')
->field('DNAME')
->field('INIDATE');
// Create grid and set DSQL as its data source
$g = $this->add('Grid');
$g->addColumn('DNAME');
$g->addColumn('INIDATE');
$g->setSource($q);
// better add paginator too or your grid can become huge :)
$g->addPaginator();
}
}https://stackoverflow.com/questions/25798501
复制相似问题