ORM多对多关联
支持分布式多对多,只要是数据模型就可以了。就是两个对象可以不同数据库
queryphp ORM关联对象
一对一 hasOne
一对多 hasMany
多对多 ManyhasMany $supply=M("supply"); //new 数据库中的表名,目前是模型名,
//可以在supplyBase.class.php中修改表名
$books=M("books");
echo $supply->Books->classname;//自动取得Books中内容
echo $supply->Books->Supply->title; //反过来取supply中的内容
echo $supply->title;
echo $books->classname;
$supply=M("supply");  
$books=M("booktype");  
$books->get(911);  
//取得id为911的行 并设置为编辑状态  
$info=M("info")->limit(1)->get(1);  
//取得info一行记录并设置编辑状态  
//我们先看看已有对象数据
print_r($books->getData());
print_r($info->getData());
//现在开始实际关联查询了。
$supply->Books($books)->Infos($info)->fetch();  
echo($supply->querySQL());
print_r($supply->getRecord());
//关联查询  
//有点类似这样子  
//where("bookid='".$books->bookid."' and typeid='".$infos->infoid."'")->fetch();
//当然这样也行 只要设置了$books,$infos有数据为编辑状态后  
//$supply->Books()->Infos()->fetch(); //是一样的。ORM关联设置例子:2:framework/model/supplyModel.class.php
<?php 
class supplyModel extends supplyBase{ 
  var $mapper=array("Books"=>array("map"=>"hasMany",
                                   "TargetModel"=>"booktype",
                                   "mapping"=>array("typeid"=>"typeid",
                                                    "bookid"=>"bookid",
                                                    "supplyid"=>"supplyid")
                                   ),
                    "Infos"=>array("map"=>"hasOne",
                                   "TargetModel"=>"info",
                                   "mapping"=>array("typeid"=>"typeid")));
 var $maps;
 var $maparray=array();
 

?> 
下载开手册和例子
http://code.google.com/p/queryphp/downloads/list

解决方案 »

  1.   

    可以多种数据库关联,比如mysql sqlite
      

  2.   

    哥们可以弄个标签规则之类的啊呵呵像smarty 差不多的呵呵
    当然希望能拿出来独立永就更好了哈哈
      

  3.   


    我准备要说废除smarty之灰模板引擎了。
    我在构思新一代视图类
      

  4.   

    今天修改下原来写代码不标准,会输出notice提示
      

  5.   

    继续修改ORM类,希望比较顺手的使用中有什么问题可以加 queryphp 群 :3885118
      

  6.   

    框架已更新,改动越来越少了
    目前完善了通用权限系统http://topic.csdn.net/u/20100415/11/af4687d2-d7f2-4e56-bcc0-5232f04a0b1e.html?seed=1624688555&r=68802636#r_68802636并附有演示地址