视图模型没有做到完全脱离真实数据表结构

浏览:594 发布日期:2015/01/13
3.2.3 - 普通 - 未处理
假设真实的数据表为:
Blog 拥有id、name、title、category_id四个字段
Category拥有id、title两个字段

建立虚拟的视图模型如下:public $viewFields = array(
'Blog'=>array('id','name','title'),
'Category'=>array('title'=>'category_name', '_on'=>'Blog.category_id=Category.id'),
);
但是此时调用这个视图模型$result=$view->where(array("id"=>1))->find();但是此时查询报错:id表述不清
必须写成:$result=$view->where(array("Blog.id"=>1))->find();但是这样的话视图还有什么意义,视图是建立在真实数据结构之上的虚拟结构,在这个虚拟结构中只定义了一个id,这个id是来自于Blog的id,所以不存在表述不清的情况,其实调用field(array("id"))的时候,tp在实际的SQL中是映射成了Blog.id,但是在where中却没有做同样的处理,这样不合理啊


评论(
后面还有条评论,点击查看>>