我有一堆网站都从一个数据库中提取数据。所有这些几乎都是相同的,并且建立在 CodeIgniter 之上。
然后每个人都有一个单独的数据库,其中包含特定于该站点的数据。
通用数据库:TABLE 'courses' = 列:id、course_name、price、external_link、tracking_link
站点特定数据库:TABLE 'courses' = 列:id、active、description
每个站点从通用数据库中提取一个课程和课程数据池,然后每个站点可以确定哪些课程是“活动的”。我可以从站点特定的数据库中获取“活动”= 1 的行的所有 ID,并将它们传递给一个数组。
但后来我想使用该查询中的 id 作为通用数据库上的过滤器,将课程数据拉入网站的各个部分。
这是我的模型:
public function getActiveCourses() {
$local_db = $this->load->database('local', TRUE);
$universal_db = $this->load->database('universal', TRUE);
$activeCourses = $local_db
->where('active', 1)
->select('id')
->get('courses');
$activeList = $activeCourses->result_array();
$allCourses = $universal_db
->where('id', $activeList)
->get('courses');
return $allCourses->result_array();
}
但我收到以下错误
Error Number: 1054
Unknown column 'Array' in 'where clause'
SELECT * FROM (`courses`) WHERE `id` = Array
Filename: /models/courses.php
Line Number: 39
第 39 行是:
$allCourses = $universal_db
->where('id', $activeList)
->get('courses'); <== Line 39
return $allCourses->result_array();
我一直在搜索和玩这个几个小时。任何帮助都非常感谢。
CI 和 php 的新手,因此可以在必要时提供任何进一步的详细信息。不确定,最需要的是什么。
特雷