Welcome Guest, Not a member yet? Register   Sign In
Is it possible with Active Record?
#1
Question 

Hello!

I have this embedded db query, and I want to rewrite it in Active Record-style:

PHP Code:
 $sql "SELECT id, fullname, phone FROM users WHERE country=(SELECT country_id FROM country WHERE name=?) AND  type=?"
Is it possible? If so, can you please tell me how can I start with it? Smile

Thank you!
Reply
#2

(This post was last modified: 03-19-2016, 02:22 PM by arma7x. Edit Reason: typo )

$this->db->select('user.id,user.fullname,user.phone');
$this->db->from('user');
$this->db->join('country', 'country.country_id = user.country_id');
$this->db->where('country.name' , $name);
$this->db->where('user.type' , $type);
$query = $this->db->get();
Can you list all column/field of user & country table. My assumption is find user based on their country & user role.
Keep calm.
Reply
#3

(This post was last modified: 03-19-2016, 03:31 PM by ardhie1032.)

(03-19-2016, 11:39 AM)fulopm Wrote:
PHP Code:
 $sql "SELECT id, fullname, phone FROM users WHERE country=(SELECT country_id FROM country WHERE name=?) AND  type=?"

Simple with query bindings (without AR or QB):
PHP Code:
$sql "SELECT id, fullname, phone FROM users WHERE country=(SELECT country_id FROM country WHERE name=?) AND  type=?";
$this->db->query($sql, array($name$type)); 

Query Bindings
Reply
#4

Thank you @arma7x, you helped a lot with understanding of joins! Now I can rewrite it with active record. Smile
Reply
#5

(This post was last modified: 03-20-2016, 03:18 PM by arma7x.)

You're welcome, did you still using v2.x.x. Please upgrade to ver 3.0.5.
Keep calm.
Reply
#6

(03-20-2016, 03:16 PM)arma7x Wrote: You're welcome, did you still using v2.x.x. Please upgrade to ver 3.0.5.

What made you think that I'm using 2.x.x? :O I'm using 3.0.5 (from now on, 3.0.6).
Reply
#7

Due to
3.0 .0's renaming of Active Record to Query Builder
Keep calm.
Reply




Theme © iAndrew 2016 - Forum software by © MyBB