Welcome Guest, Not a member yet? Register   Sign In
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




Theme © iAndrew 2016 - Forum software by © MyBB