-
1. $dql = "select b, u from ScourgenWebBundle:Book b join b.users u"; 2. $dql = "selectb.title, u.email from ..."; 1.会将book 和 user所有字段取出来,并且结果是对象,可以使用getTitle之类的方法 2.仅将title和email字段取出来,结果是数组。无法使用getTitle之类的方法。查看全部
-
//手动开启事务【方法一】 $em = $this->getDoctrine()->getManager(); $em->getConnection()->beginTransaction(); try{ $user1 = $em->getRepository('DemoCeBundle:user')->findOneBy(array('id'=>1)); $user1->setEmail('niusdadcha.com'); $em->persist($user1); $em->getConnection()->commit(); }catch(Exception $e){ $em->getConnection()->rollBack(); } //手动开启事务【方法二】 $em->transactional(function($em){ $user1 = $em->getRepository('DemoCeBundle:user')->findOneBy(array('id'=>1)); $user1->setEmail('niusdadcha.com'); $em->persist($user1); })查看全部
-
直接调用s q l查看全部
-
//生命周期操作[方法一] //1 在类的外面 @ORM\HasLifecycleCallbacks() //2 在setCreateAt方法外 @ORM\PrePersist() //3 $this->createAt = new \DateTime(); // 注意这种方式的不足之处 ,因为我把他处理的不能传一个特定的时间值, //其次@ORM\PrePersist()放在外面,当别的地方也有这样的操作的话,就不太知道哪一个先执行 //[方法二]当有频发操作的时候我们可以这样 ///** //* @ORM\PrePersist() // */ // function PrePersist(){ // if($this->getCreateAt() == null){ // $this->setCreateAt(new \DateTime('now')); // } // $this->setUpdateAt(new \DateTime('now')); // }查看全部
-
find方法使用 如果有很多地方使用到$this->getDoctrine()->getManager()->getRepository('ScourgenWebBundle:User');的花,建议建立一个protected function给其它方法调用。 定义返回类型:@return \Scourgen\WebBundle\Entity\UserRepository查看全部
-
读出关联表数据查看全部
-
往数据库添加数据查看全部
-
user表和book表关联 一对多 存数据查看全部
-
doctrine数据库操作(select,update,insert,delete)查看全部
-
Enity User.php,使用annation来进行对字段和类进行声明查看全部
-
// 1 在app\config\parameters.yml.dist 修改数据库相关信息 // 2 php app/console doctrine:database:create 创建数据库 // 3 php app/console generate:doctrine:entities DemoCeBundle 执行命令 自动创建user.php中相关字段的 set ,get方法 // 4 php app/console doctrine:schema:update --force 创建/更新数据表结构 // 5 php app/console doctrine:schema:update --dump-sql 打印更新的sql语句 // 注意:如果你的字段有name变更为email 则 setName和getName不会发生变更,需要你自己手动进行删除查看全部
-
Enity User.php,使用annation来进行对字段和类进行声明查看全部
-
使用DQL 的两种方法: $query = $em->createQuery( 'select u from DataBundle:User p where u.name = :name' )->setParamter('name','scourgen'); $query2 = $em->getRepository('User')->creatQueryBuilder('U') ->where('u.name = :name') ->setParamter('name','scourgen') ->getQuery();查看全部
-
Proxy Class 代理类: 在没有用到关系中的字段时,不会载入实体。 $user = $em->getRepository('User')->findOneBy(array("id"=>1)); ->此时$user 中真正有的只是 user 表的字段。 当代码执行到 $user->getAddressBooks() 时,Doctrine 才会动态地生成一条外键查询 AddressBooks 其实就是一个 Proxy Class,在没有被调用之前,其实是一个虚拟的,代理的类查看全部
-
Doctrine 的 entity 实体对象查看全部
举报
0/150
提交
取消