すべて単一のデータベースからデータを取得している Web サイトがたくさんあります。これらはすべてほぼ同一で、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 は初めてなので、必要に応じて詳細を提供できます。すぐにわからない、最も必要なもの。
トレイ