假设有两个表.
table X--Columns: ID x_valuetable Y--Columns: ID x_ID y_value
现在,我不想在学说类中定义关系,并且我想使用像这样的查询使用这两个表来检索一些记录:
Select x_value from x,y where y.ID="variable_z" and x.ID=y.x_ID;
我无法弄清楚如何在准则orm中编写这样的查询
编辑:
表结构:
表格1:
CREATE table IF NOT EXISTS `image` ( `ID` int(11) NOT NulL auto_INCREMENT,`random_name` varchar(255) NOT NulL,`user_ID` int(11) NOT NulL,`community_ID` int(11) NOT NulL,`published` varchar(1) NOT NulL,PRIMARY KEY (`ID`) ) ENGINE=InnoDB DEFAulT CHARSET=latin1 auto_INCREMENT=259 ;
表2:
CREATE table IF NOT EXISTS `users` ( `ID` int(11) NOT NulL auto_INCREMENT,`city` varchar(20) DEFAulT NulL,`state` varchar(20) DEFAulT NulL,`school` varchar(50) DEFAulT NulL,PRIMARY KEY (`ID`) ) ENGINE=InnoDB DEFAulT CHARSET=latin1 auto_INCREMENT=20 ;
查询我正在使用:
$q = new Doctrine_Rawsql(); $q ->select('{u.*},{img.*}') ->from('users u left JOIN image img ON u.ID = img.user_ID') ->addComponent('u','Users u') ->addComponent('img','u.Image img') ->where("img.community_ID='$community_ID' AND img.published='y' AND u.state='$state' AND u.city='$city ->orderBy('img.ID DESC') ->limit($count+12) ->execute();
我得到的错误:
Fatal error: Uncaught exception 'Doctrine_Exception' with message 'Couldn't find class u' in C:\xampp\htdocs\fanyer\doctrine\lib\Doctrine\table.PHP:290 Stack trace: #0 C:\xampp\htdocs\fanyer\doctrine\lib\Doctrine\table.PHP(240): Doctrine_table- >initDeFinition() #1 C:\xampp\htdocs\fanyer\doctrine\lib\Doctrine\Connection.PHP(1127): Doctrine_table->__construct('u',Object(Doctrine_Connection_MysqL),true) #2 C:\xampp\htdocs\fanyer\doctrine\lib\Doctrine\Rawsql.PHP(425): Doctrine_Connection->gettable('u') #3 C:\xampp\htdocs\fanyer\doctrine\models\Image.PHP(33): Doctrine_Rawsql->addComponent('img','u.Image imga') #4 C:\xampp\htdocs\fanyer\community_images.PHP(31): Image->get_community_images_gallery_filter(4,'AL','ALBERTVILLE') #5 {main} thrown in C:\xampp\htdocs\fanyer\doctrine\lib\Doctrine\table.PHP on line 290
最佳答案尝试这样的事情:—$q = new Doctrine_Rawsql();$this->related_objects = $q-> select('{o.name}')-> from('Tagset t1 JOIN Tagset t2 ON t1.tag_ID = t2.tag_ID AND t1.object_ID != t2.object_ID JOIN object o ON t2.object_ID = o.ID')-> addComponent('o','Object o')-> where('t1.object_ID = ?',$this->object->ID)-> groupBy('t2.object_ID')-> orderBy('COUNT(*) DESC')-> execute();
总结 以上是内存溢出为你收集整理的mysql-是否可以在不使用关系的情况下联接原则ORM中的表? 全部内容,希望文章能够帮你解决mysql-是否可以在不使用关系的情况下联接原则ORM中的表? 所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)