Welcome Guest, Not a member yet? Register   Sign In
retrieve average rating on a join
#3

(This post was last modified: 01-18-2022, 11:00 AM by remesses_thegreat.)

(01-18-2022, 03:41 AM)InsiteFX Wrote: This should help you out.

CodeIgniter 4 Users Guide - Query Builder Class - selectAvg

When i try adding selectAvg it returns only the rating field instead of the complete dataSet. 

Example of the code is below 

PHP Code:
function getAllBranches()
    {
        $db      = \Config\Database::connect();
        $builder $db->table('branches');
        $builder->join('companies''companies.id = branches.companyId','left');
        $builder->join('businessprofile''businessprofile.companyId = branches.companyId'); 
        $builder->join('rating''rating.companyId = branches.companyId'); 
        $builder->selectAvg('rating'); 
    
        $builder
->where('paymentstatus''active');
        $builder->groupBy(['name''location','category']);
        $query $builder->get();
        
        
return $query->getResult();
    

Thank you for the input. You have pointed me to the right direction. 

All I had to do was Add select('*) before selectAvg. Works as expected.

See code below 

PHP Code:
function getAllBranches()
    {
        $db      = \Config\Database::connect();
        $builder $db->table('branches');
        $builder->join('companies''companies.id = branches.companyId','left');
        $builder->join('businessprofile''businessprofile.companyId = branches.companyId'); 
        $builder->join('rating''rating.companyId = branches.companyId'); 
        $builder->select('*'); 
        $builder->selectAvg('rating'); 
    
        $builder
->where('paymentstatus''active');
        $builder->groupBy(['name''location','category']);
        $query $builder->get();
        
        
return $query->getResult();
    
Reply


Messages In This Thread
RE: retrieve average rating on a join - by remesses_thegreat - 01-18-2022, 10:54 AM



Theme © iAndrew 2016 - Forum software by © MyBB