Recent Topics

Problem left join



  • Hi, I have a problem when I want to give another left join in addresses, those data are apparently taken from me and I can't exclude them and conflicts arise.
    How could I just get what data I get from the address sheets and exclude the rest?

      $queryBuilder = DB::table('customers')
                ->leftJoin('customer_groups', 'customers.customer_group_id', '=', 'customer_groups.id')
                ->leftJoin('addresses', 'customers.id', '=', 'addresses.customer_id')
                ->addSelect('customers.id as customer_id', 'customers.email', 'customer_groups.name', 'customers.phone', 'customers.gender', 'status')
                ->addSelect('addresses.registration_number', 'addresses.vat_id')
                ->addSelect(DB::raw('CONCAT(' . DB::getTablePrefix() . 'customers.first_name, " ", ' . DB::getTablePrefix() . 'customers.last_name) as full_name'));
    
    
    Integrity constraint violation: 1052 Column 'email' in where clause is ambiguous (SQL: select count(*) as aggregate from `customers` left join `customer_groups` on `customers`.`customer_group_id` = `customer_groups`.`id` left join `addresses` on `customers`.`id` = `addresses`.`customer_id` where (CONCAT(customers.first_name, " ", customers.last_name) like %
    


  • Hi @LilD,

    Just append the alias to email, because emails are two so its not able to detect which one should he take,
    alias1.email, table_name.email


Log in to reply