在codeigniter中加入datamapper

时间:2015-11-25 06:25:15

标签: mysql codeigniter join datamapper codeigniter-datamapper

如何在codeigniter中的datamapper中创建 INNER JOIN 查询?

Country : id(int) | Name(varchar)

User : id(int) | name(varchar) | country_id(int)

必填查询 SELECT * FROM User u INNER JOIN Country c ON(c.id = u.country_id) WHERE u.name LIKE %abcd%

1 个答案:

答案 0 :(得分:-1)

您必须相应地设置模型中的属性:

class User extends DataMapper {

    var $has_one = array("country");

    function __construct($id = NULL)
    {
        parent::__construct($id);
    }
}

class Country extends DataMapper {
    var $has_many = array("user");

    function __construct($id = NULL)
    {
        parent::__construct($id);
    }
}

Official Doc

然后您可以查询相关的模型:

$u = new User();
$u->like_related_country('name', 'abc')->get();

您可以找到所有查询选项here