Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/codeigniter/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Codeigniter:想通过使用条令2库实现左连接吗_Codeigniter_Doctrine Orm_Left Join - Fatal编程技术网

Codeigniter:想通过使用条令2库实现左连接吗

Codeigniter:想通过使用条令2库实现左连接吗,codeigniter,doctrine-orm,left-join,Codeigniter,Doctrine Orm,Left Join,请帮助我将Codeigniter中的两个表与Orm docrtrine 2库左连接。首先,您需要将条令集成到CodeIgnitor中 这就是如何使用自定义查询将Doctrine中的两个表左键联接 <?php $query = $em->createQuery('SELECT u.id, a.id as article_id FROM CmsUser u LEFT JOIN u.articles a'); $results = $query->getResult(); // a

请帮助我将Codeigniter中的两个表与Orm docrtrine 2库左连接。

首先,您需要将条令集成到CodeIgnitor中

这就是如何使用自定义查询将Doctrine中的两个表左键联接

<?php
$query = $em->createQuery('SELECT u.id, a.id as article_id FROM CmsUser u LEFT JOIN u.articles a');
$results = $query->getResult(); // array of user ids and every article_id for each user
有关DQL的更多信息:-

我希望这有帮助,
干杯

条令实体模型不提供一对多的关联,反之亦然。要允许这些功能,您必须使用有效关联更新实体。下面是这两个表的示例,其中在users表中包含用户信息,在UserFavoriteMeals中包含最喜欢的饭菜

对于左连接,需要在两个实体中更新关联,如下所述:

在用户实体中,添加UserFavoriteMeals的onetomany关联,其中mappedby是数据库中发生关联的关键

 /**
     * @var \Entity\UserFavoriteMeals
     *
     * @OneToMany(targetEntity="Entity\UserFavoriteMeals", mappedBy="userid" )
     *  @JoinColumns({
     *   @JoinColumn(name="id", referencedColumnName="userId", nullable=true)
     * })
     */

    private $UserFavoriteMeals;
同样,在UserFavoriteMeals实体中放置多个同一关联

/**
 * @var \Entity\Users
 *
 * @ManyToOne(targetEntity="Entity\Users")
 * @JoinColumns({
 *   @JoinColumn(name="userId", referencedColumnName="id", nullable=true)
 * })
 */
private $userid;
通过这种方式,我们必须管理左连接的关联,现在只需以以下格式编写左连接查询:

            $left_query = $this->em->createQuery("SELECT fm,u FROM Entity\userFavoriteMeals fm LEFT JOIN fm.userid u WHERE fm.userId = 231 ")->getArrayResult(); 
        print_r($left_query);

        $left_query_inverse = $this->em->createQuery("SELECT u,fm FROM Entity\Users u LEFT JOIN u.UserFavoriteMeals fm WHERE u.id = 4")->getArrayResult(); 
        print_r($left_query_inverse);
            $left_query = $this->em->createQuery("SELECT fm,u FROM Entity\userFavoriteMeals fm LEFT JOIN fm.userid u WHERE fm.userId = 231 ")->getArrayResult(); 
        print_r($left_query);

        $left_query_inverse = $this->em->createQuery("SELECT u,fm FROM Entity\Users u LEFT JOIN u.UserFavoriteMeals fm WHERE u.id = 4")->getArrayResult(); 
        print_r($left_query_inverse);