F3框架SQL查询连接


f3 framework sql query join

我有以下表格:

tbl_users
===============
uid
username
password
gid
tbl_groups
===============
gid
name
type

我试图找出如何使用sqlmapper在f3能够查询两个表,其中用户名等于$_POST["username"],并能够获得组的名称和类型以及。是否有可能使用此框架与sqlmapper连接查询?

我已经到处找了,找不到任何关于这个的例子。

你可以尝试设置一些虚拟字段:

$mapper->group_name = 'select name from tbl_groups where tbl_groups.gid=tbl_users.gid';
$mapper->group_type = 'select type from tbl_groups where tbl_groups.gid=tbl_users.gid';
$mapper->load(array('uid = ?',123));
echo $mapper->group_name;

下面是{VIEW}:

的示例

我已经实现了这里的分页SQL Mapper使用视图view_user_list_with_referral

    $dropInstantWinnerView = $this->db->exec("DROP VIEW IF EXISTS view_user_list_with_referral;");
    $createInstantWinnerView = $this->db->exec("CREATE VIEW view_user_list_with_referral AS SELECT u.fb_id, fb_link, name, r.referred_by, u.created FROM users u LEFT OUTER JOIN referral r ON u.fb_id=r.joinee ");
    $user = new 'DB'SQL'Mapper($this->db,'view_user_list_with_referral');
    $limit = 20;
    $page = Pagination::findCurrentPage();
    $order_condition = F3::get("PARAMS.order_condition");
    $order_class= "";
    if(!empty($order_condition)){
        $cond = explode(":", $order_condition);
        $option = array('order' => $cond[0].' '.$cond[1]);
        if($cond[1]=='ASC'){
            $order_condition = $cond[0].':DESC';
            $order_class = ":DESC";
        }else{
            $order_condition = $cond[0].':ASC';
            $order_class = ":ASC";
        }
    }else{
        $option = array('order' => 'created DESC');
    }
    $subset = $user->paginate($page-1, $limit, null, $option);
    $pages = new Pagination($subset['total'], $limit);
    $pages->setTemplate("admin/pagebrowser.html");
    F3::set('pagebrowser', $pages->serve());
    //echo "<pre>";print_r($subset);exit;
    F3::set('page', $page);
    F3::set('order_condition', $order_condition);
    F3::set('total_found_records', $user->count());

我希望它能节省一些人的时间:)