3.2.3 - 普通 - 未处理
假设真实的数据表为:Blog 拥有id、name、ti
Category拥有id、ti
建立虚拟的视图模型如下:
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中却没有做同样的处理,这样不合理啊