Codeigniter Dołącz do wielu warunków

Używam klasy Active Records Codeigniter i chcę dołączyć do mojejusers stół z moimclients tabeli, dzięki czemu mogę wyświetlać „prawdziwe” nazwy użytkowników, a nie tylko ich ID.

Oto coclients tabela wygląda jak (przykład), a kolumny a_1, a_2 i a_3 odpowiadają mojemuusers tabela, a konkretnieuser id:

  clients
|--------|---------|----------|-----------|----------|
|  id    |   name  |   a_1    |    a_2    |   a_3    |
|--------|---------|----------|-----------|----------|
|   1    |   Paul  |    2     |     4     |    1     |

I mójusers tabela wygląda tak:

   users
|--------|---------|----------|
|  id    |  first  |   last   |  
|--------|---------|----------|
|   1    |   Paul  |  Blake   |
|--------|---------|----------|
|   2    |   Dan   |   Doe    |
|--------|---------|----------|
|   3    |  Steve  |  Smith   |
|--------|---------|----------|
|   4    |  Harry  |  Jones   |
|--------|---------|----------|

Tak, zasadniczo, gdybym był wybrany zclients stół i DOŁĄCZ do niego, wyglądałoby to tak:

  clients
|--------|---------|----------|-----------|----------|
|  id    |   name  |   a_1    |    a_2    |   a_3    |
|--------|---------|----------|-----------|----------|
|   1    |   Paul  | Dane Doe |Harry Jones|Paul Blake|

Do tej pory próbowałem (co nie zadziałało, wyświetla tylko tę samą nazwę dla wszystkich):

<?
 $this->db
  ->select('name, a_1, a_2, a_3')
  ->from('clients')
  ->join('users', 'users.id=a_1 OR users.id=a_2 OR users.id=a_3');

Każda pomoc byłaby świetna!

Rozwiązanie:

Oto, co mogłem wymyślić, co działa (dzięki @elavarasan lee):

<?
 $this->db
  ->select('CONCAT(u1.first," ", u1.last) as a_1_name, CONCAT(u2.first," ", u2.last) as a_2_name, CONCAT(u3.first," ",u3.last) as a_3_name', FALSE)
  ->from('clients')
  ->join('users AS u1', 'u1.id=a_1', 'left')
  ->join('users AS u2', 'u2.id=a_2', 'left')
  ->join('users AS u3', 'u3.id=a_3', 'left');

questionAnswers(2)

yourAnswerToTheQuestion