如何在连接表中搜索?

时间:2018-05-25 03:44:19

标签: php mysql database codeigniter

我的表格示例:

customer (id , name ....)
transactions (id , sender , receiver .....)

发件人和收件人都与客户ID

相关

我加入了

的表格
$this->db->select('transactions.*', FALSE);


    $this->db->select('tbl_receiver.name as receiver_name,tbl_sender.name as sender_name');
    $this->db->join('customer as tbl_receiver','tbl_receiver.id=transactions.receiver');
    $this->db->join('customer as tbl_sender','tbl_sender.id=transactions.sender');

现在我可以显示一个像(id,receiver_name,sender_name ...)这样的表 我需要一个可以搜索接收者/发件人姓名的搜索栏

$this->db->like('receiver_name','Jackson');

但是它说没有像receiver_name这样的列。 如何让它能够按接收者名称搜索?

2 个答案:

答案 0 :(得分:0)

您在同意声明中遗漏了'。它应该是

$this->db->like('receiver_name','Jackson');

你也可以写作赞:

$this->db->select('*')->from('table')
       ->where("column LIKE '%$keyword%'")->get();

答案 1 :(得分:0)

  

这是我的代码完美运作。你可以试试这个东西我希望这个   会为你工作。

public function index()
{
    /*$email=$this->post->input('search');*/ //OR

    $email='myEmail@test.com'; // Set email accroding you
    $this->db->select('*');
    $this->db->from('table1');
    $this->db->like('table1.email',$email);
    $this->db->join('table2', 'table1.email = table2.email');
    $query = $this->db->get();

    $assignedData=$query->result_array();

    var_dump($assignedData); // store data in array
}