2012-02-09 22 views
1

カテゴリとコースの関係が多岐にわたる私は参加しています...私はActive RecordでCodeIgniterで複数の結合を使用します。私のコードは次のようになります。私は1コースの複数のカテゴリを取得する問題を抱えている複数の行セットを1つの変数sqlに格納する方法

$query = $this->db->select('*') 
      ->from('subscriptions') 
      ->where('subscriptions.user_id', $user_id) 
      ->join('courses', 'courses.id=subscriptions.course_id') 
      ->join('course_categories', 'course_categories.course_id=courses.id') 
      ->join('categories', 'categories.id=course_categories.category_id') 
      ->join('tutor_profiles', 'tutor_profiles.id=courses.tutor_id') 
      ->get(); 

...私は、カテゴリ=配列(結合結果)のようなものを持っていると思います。私は、配列の1 SQL変数のカテゴリの結合から結果を取得し、結果をループしたいということです。 どうすればいいですか?または、2つのクエリを作成する必要はありますか?

+0

正確に達成したいことはありますか?つまり、クエリの結果をどのようにしたいのですか? – bfavaretto

+0

講師とコースを取得するには、すべてのユーザーのサブスクリプションに基づいてカテゴリです。そのことについてはっきりしないと申し訳ありません。 – Mythriel

+0

あなたのクエリは、複数の行(コースごとにカテゴリごとに1つ)を返す必要があります。そのため、必要なデータがそこにあるはずです。ではない? – bfavaretto

答えて

2

結果をシリアル化してデータベースに保存してください。

+0

+1 XMLまたは好ましくはJSONにシリアル化します。ここでの短い例がうまくいくでしょう。 – Yuck

+0

例は素晴らしいでしょう – Mythriel

+0

あなたのdbの結果を得た後。 $ resultがすべての結合値を含む配列であると考えると、 $ result = serialize($ result);を実行できます。 。 varの結果は文字列になります。初期状態を回復するには、unserialize($ result);を使用します。 ;) – Userbn

関連する問題