• 0 Vote(s) - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5
Double select in builder

#1
For a database query im joining 2 tables. I want to add a second select since both tables have an id column. What i want:

Codeigniter 2:
PHP Code:
$this->db->select("*");
$this->db->select("main_table.id AS id");
$this->db->join("second_table","main_table.id = second_table.base_id","INNER");
$query $this->db->get("main_table"); 

Codeigniter 4:
PHP Code:
$db = \Config\Database::connect();
$builder $db->table('main_table');
$builder->select("*");
$builder->select("main_table.id AS id");
$builder->join("second_table","main_table.id = second_table.base_id","INNER");
$query $builder->get(); 


But in Codeigniter 4 this doesnt seem to work $query->getResult() returns just the id column.

Any ideas?
Reply

#2
try $builder->select("second_table.*, main_table.id AS id");
Simpler is always better
Reply

#3
thanks, ive managed to fix it as follows:
```
$db = \Config\Database::connect();
$builder = $db->table('main_table');

$builder->selects[] = "*";
$builder->selects[] = "main_table.id as id";

$builder->select($builder->selects);
$builder->join("second_table","main_table.id = second_table.base_id","INNER");
$query = $builder->get();
```

Seems the select needed to have an array.
Reply


Digg   Delicious   Reddit   Facebook   Twitter   StumbleUpon  


  Theme © 2014 iAndrew  
Powered By MyBB, © 2002-2020 MyBB Group.