Moodle:使用 mysql 加入 $table = set_sql();方法
Moodle: using mysql joins in $table = set_sql(); method
我想知道如何为 $table= set_sql(); 方法应用连接。
我试图在不使用常规 html_table(); 方法的情况下呈现 table。
单个数据库的基本应用程序table "mdl_user":
$table->set_sql('*', "{user}", '1');
但我打算使用连接实现更复杂的 sql 查询,如下所示:
**SELECT aa.firstname, aa.email, zz.fullname
FROM mdl_table1 aa
INNER JOIN mdl_table2 zz
ON aa.id = zz.userid WHERE lastlogin => ? and lastlogin <= ? GROUP BY firtname;**
下面的 link 可能会有帮助。我试图解决它,但仍然不清楚。
https://docs.moodle.org/dev/lib/tablelib.php
像这样
$fields = 'aa.firstname, aa.email, zz.fullname',
$from = '{table1} aa
INNER JOIN {table2} zz ON aa.id = zz.userid';
$where = 'lastlogin => :lastlogin1 and lastlogin <= :lastlogin2';
$params = array('lastlogin1' => $lastlogin, 'lastlogin2' => $lastlogin);
$table->set_sql($fields, $from, $where, $params);
我想知道如何为 $table= set_sql(); 方法应用连接。 我试图在不使用常规 html_table(); 方法的情况下呈现 table。
单个数据库的基本应用程序table "mdl_user":
$table->set_sql('*', "{user}", '1');
但我打算使用连接实现更复杂的 sql 查询,如下所示:
**SELECT aa.firstname, aa.email, zz.fullname
FROM mdl_table1 aa
INNER JOIN mdl_table2 zz
ON aa.id = zz.userid WHERE lastlogin => ? and lastlogin <= ? GROUP BY firtname;**
下面的 link 可能会有帮助。我试图解决它,但仍然不清楚。 https://docs.moodle.org/dev/lib/tablelib.php
像这样
$fields = 'aa.firstname, aa.email, zz.fullname',
$from = '{table1} aa
INNER JOIN {table2} zz ON aa.id = zz.userid';
$where = 'lastlogin => :lastlogin1 and lastlogin <= :lastlogin2';
$params = array('lastlogin1' => $lastlogin, 'lastlogin2' => $lastlogin);
$table->set_sql($fields, $from, $where, $params);