如何在 Active Record 中编写此 SQL 语句?
$this->db->query('
SELECT a.slogan, a.brief, u.id, u.name
FROM example_tbl AS a, users AS u
WHERE u.user_id = "' . USER_ID . '"
');
$this->db->select('a.slogan, a.brief, u.id, u.name')->where('u.user_id', USER_ID)->get('example_tbl AS a, users AS u')->result();
如果您选择的表格字段明确,您可以删除“AS a,u”等快捷方式...
更现代的实践建议不要使用隐式联接。 下面将创建一个 JOIN (INNER JOIN) 子句,该子句将两个表的共享
user_id
列值关联起来。
FROM 和 WHERE 子句内置于
get_where()
调用中,该调用也执行查询。
result()
将返回零个或多个对象的数组,其中四列作为键。
return $this->db
->select('a.slogan, a.brief, u.id, u.name')
->join('users u', 'u.user_id = a.user_id')
->get_where('example_tbl a', ['u.user_id' => USER_ID])
->result();