Codeigniter Присоединение к таблице и отображение имени вместо идентификатора - PullRequest
0 голосов
/ 23 мая 2018

Таблица

-------------------------------
table 1 (customer) : id , name
table 2 (transaction): receiver(int), seller(int)
---------------------------------------------------

Как отобразить имя (оба) получателя и продавца в таблице 2 в качестве имени на основе идентификатора клиента?


Я пытался:

    $this->db->select('transactions.*');


    $this->db->select("customer.id AS c_id");
    $this->db->select("customer.name AS c_name");
    $this->db->from("customer"); //edited
    $this->db->join('transactions', 'customer.id = transactions.receiver');
    $this->db->join('transactions', 'customer.id = transactions.sender = customer.id');
    $query = $this->db->get();
    return $query->result();

Но это дает мне ошибку:

У вас есть ошибка в вашем синтаксисе SQL / проверьте руководство, соответствующее вашей версии сервера MariaDB, чтобы найти правильный синтаксис для использования рядом с 'JOIN'


Я проверял другие подобные вопросы, но все еще не мог понять это.

1 Ответ

0 голосов
/ 23 мая 2018

Для объединения одной таблицы для запроса нескольких столбцов, как это

$this->db->select('transaction.*,tbl_receiver.name as receiver_name,tbl_sender.name as sender_name');
$this->db->join('customer as tbl_receiver','tbl_receiver.id=transaction.receiver');
$this->db->join('customer as tbl_sender','tbl_sender.id=transaction.sender');
return $this->db->get('transaction')->result_array();
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...