Sign Up

Sign Up to our social questions and Answers Engine to ask questions, answer people’s questions, and connect with other people.

Have an account? Sign In

Have an account? Sign In Now

Sign In

Login to our social questions & Answers Engine to ask questions answer people’s questions & connect with other people.

Sign Up Here

Forgot Password?

Don't have account, Sign Up Here

Forgot Password

Lost your password? Please enter your email address. You will receive a link and will create a new password via email.

Have an account? Sign In Now

You must login to ask a question.

Forgot Password?

Need An Account, Sign Up Here

Please briefly explain why you feel this question should be reported.

Please briefly explain why you feel this answer should be reported.

Please briefly explain why you feel this user should be reported.

Sign InSign Up

The Archive Base

The Archive Base Logo The Archive Base Logo

The Archive Base Navigation

  • SEARCH
  • Home
  • About Us
  • Blog
  • Contact Us
Search
Ask A Question

Mobile menu

Close
Ask a Question
  • Home
  • Add group
  • Groups page
  • Feed
  • User Profile
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Buy Points
  • Users
  • Help
  • Buy Theme
  • SEARCH
Home/ Questions/Q 7890821
In Process

The Archive Base Latest Questions

Editorial Team
  • 0
Editorial Team
Asked: June 3, 20262026-06-03T06:27:23+00:00 2026-06-03T06:27:23+00:00

I would like to do a full outer join in Doctrine ORM(PHP) My current

  • 0

I would like to do a full outer join in Doctrine ORM(PHP)

My current query is :

$query = Doctrine_Query::create()
            ->from('Model_Contract_Payment p')
            ->innerJoin('p.Contract c')
            ->where(" c.modified_date IS NOT NULL AND (c.modified_date < '" . date(DATABASE_DATE_FORMAT, $lastShowableDate) . "' OR c.archive_status = 1 OR p.archive_status = 1)".$queryStr )
            ->orderBy($sortColumn . ' ' . $sortDirection);

If I do this way, I get only the contracts which has for contract_id and ignores the
data with payment_id with NULL.

I would prefer to get all the data with payment_id NULL

So,I would like to replace the
innerjoin with FULL OUTER JOIN .
Any idea on how to go about this?

My schema.yml file:

Contract:
  connection: doctrine
  tableName: Contract
  columns:
    contract_id:
      type: integer(4)
      fixed: false
      unsigned: false
      primary: true
      autoincrement: true
    hash:
      type: string(32)
      fixed: false
      unsigned: false
      notnull: false
      primary: false
      autoincrement: false
    payment_id:
      type: integer(4)
      fixed: false
      unsigned: false
      primary: true
      autoincrement: true
    sales_force_opportunity_id:
      type: string(50)
      fixed: false
      unsigned: false
      notnull: false
      primary: false
      autoincrement: false
    sales_force_opp_owner:
      type: string(50)
      fixed: false
      unsigned: false
      notnull: false
      primary: false
      autoincrement: false
    sales_force_opp_name:
      type: string(50)
      fixed: false
      unsigned: false
      notnull: false
      primary: false
      autoincrement: false
    sales_force_account_name:
      type: string(50)
      fixed: false
      unsigned: false
      notnull: false
      primary: false
      autoincrement: false
    contact_first_name:
      type: string(50)
      fixed: false
      unsigned: false
      notnull: false
      primary: false
      autoincrement: false
    contact_last_name:
      type: string(50)
      fixed: false
      unsigned: false
      notnull: false
      primary: false
      autoincrement: false
    contract_companyname:
      type: string(80)
      fixed: false
      unsigned: false
      notnull: false
      primary: false
      autoincrement: false
    contact_email_address:
      type: string(256)
      fixed: false
      unsigned: false
      notnull: false
      primary: false
      autoincrement: false
    contact_alternate_email_address:
      type: string(256)
      fixed: false
      unsigned: false
      notnull: false
      primary: false
      autoincrement: false
    contact_phone_number:
      type: string(50)
      fixed: false
      unsigned: false
      notnull: false
      primary: false
      autoincrement: false
    contract_status_id:
      type: integer(4)
      fixed: false
      unsigned: false
      notnull: false
      primary: false
      autoincrement: false
    contract_agreed_ip_address:
      type: string(72)
      fixed: true
      unsigned: false
      notnull: false
      primary: false
      autoincrement: false
    agreed_date:
      type: timestamp(16)
      fixed: false
      unsigned: false
      notnull: false
      primary: false
      autoincrement: false
    agreement_start_date:
      type: timestamp(16)
      fixed: false
      unsigned: false
      notnull: false
      primary: false
      autoincrement: false
    agreement_end_date:
      type: timestamp(16)
      fixed: false
      unsigned: false
      notnull: false
      primary: false
      autoincrement: false
    seat_details:
      type: string(2147483647)
      fixed: false
      unsigned: false
      notnull: false
      primary: false
      autoincrement: false
    special_instructions:
      type: string(2147483647)
      fixed: false
      unsigned: false
      notnull: false
      primary: false
      autoincrement: false
    agreement_type_id:
      type: integer(4)
      fixed: false
      unsigned: false
      notnull: false
      primary: false
      autoincrement: false
    agreement_terms:
      type: string(2147483647)
      fixed: false
      unsigned: false
      notnull: false
      primary: false
      autoincrement: false
    additional_terms:
      type: string(2147483647)
      fixed: false
      unsigned: false
      notnull: false
      primary: false
      autoincrement: false
    additional_notes:
      type: string(2147483647)
      fixed: false
      unsigned: false
      notnull: false
      primary: false
      autoincrement: false
    payment_terms:
      type: string(2147483647)
      fixed: false
      unsigned: false
      notnull: false
      primary: false
      autoincrement: false
    total_value:
      type: decimal(20)
      fixed: false
      unsigned: false
      notnull: false
      primary: false
      autoincrement: false
    payment_method_id:
      type: integer(4)
      fixed: false
      unsigned: false
      notnull: false
      primary: false
      autoincrement: false
    bank_name:
      type: string(100)
      fixed: false
      unsigned: false
      notnull: false
      primary: false
      autoincrement: false
    bank_account:
      type: string(30)
      fixed: false
      unsigned: false
      notnull: false
      primary: false
      autoincrement: false
    bank_routing:
      type: string(30)
      fixed: false
      unsigned: false
      notnull: false
      primary: false
      autoincrement: false
    credit_card_name:
      type: string(50)
      fixed: false
      unsigned: false
      notnull: false
      primary: false
      autoincrement: false
    credit_card_num_short:
      type: string(5)
      fixed: false
      unsigned: false
      notnull: false
      primary: false
      autoincrement: false
    credit_card_num_encrypt:
      type: string(255)
      fixed: false
      unsigned: false
      notnull: false
      primary: false
      autoincrement: false
    credit_card_exp:
      type: timestamp(16)
      fixed: false
      unsigned: false
      notnull: false
      primary: false
      autoincrement: false
    credit_card_type:
      type: string(30)
      fixed: false
      unsigned: false
      notnull: false
      primary: false
      autoincrement: false
    billing_first_name:
      type: string(50)
      fixed: false
      unsigned: false
      notnull: false
      primary: false
      autoincrement: false
    billing_last_name:
      type: string(50)
      fixed: false
      unsigned: false
      notnull: false
      primary: false
      autoincrement: false
    billing_address1:
      type: string(100)
      fixed: false
      unsigned: false
      notnull: false
      primary: false
      autoincrement: false
    billing_address2:
      type: string(100)
      fixed: false
      unsigned: false
      notnull: false
      primary: false
      autoincrement: false
    billing_city:
      type: string(50)
      fixed: false
      unsigned: false
      notnull: false
      primary: false
      autoincrement: false
    billing_state:
      type: string(5)
      fixed: false
      unsigned: false
      notnull: false
      primary: false
      autoincrement: false
    billing_country:
      type: string(50)
      fixed: false
      unsigned: false
      notnull: false
      primary: false
      autoincrement: false
    billing_postal_code:
      type: string(20)
      fixed: false
      unsigned: false
      notnull: false
      primary: false
      autoincrement: false
    billing_phone:
      type: string(20)
      fixed: false
      unsigned: false
      notnull: false
      primary: false
      autoincrement: false
    shipping_first_name:
      type: string(50)
      fixed: false
      unsigned: false
      notnull: false
      primary: false
      autoincrement: false
    shipping_last_name:
      type: string(50)
      fixed: false
      unsigned: false
      notnull: false
      primary: false
      autoincrement: false
    shipping_address1:
      type: string(100)
      fixed: false
      unsigned: false
      notnull: false
      primary: false
      autoincrement: false
    shipping_address2:
      type: string(100)
      fixed: false
      unsigned: false
      notnull: false
      primary: false
      autoincrement: false
    shipping_city:
      type: string(50)
      fixed: false
      unsigned: false
      notnull: false
      primary: false
      autoincrement: false
    shipping_state:
      type: string(5)
      fixed: false
      unsigned: false
      notnull: false
      primary: false
      autoincrement: false
    shipping_country:
      type: string(50)
      fixed: false
      unsigned: false
      notnull: false
      primary: false
      autoincrement: false
    shipping_postal_code:
      type: string(20)
      fixed: false
      unsigned: false
      notnull: false
      primary: false
      autoincrement: false
    shipping_phone:
      type: string(20)
      fixed: false
      unsigned: false
      notnull: false
      primary: false
      autoincrement: false
    rejection_notes:
      type: string(2147483647)
      fixed: false
      unsigned: false
      notnull: false
      primary: false
      autoincrement: false
    rvp_status_id:
      type: integer(4)
      fixed: false
      unsigned: false
      notnull: false
      primary: false
      autoincrement: false
    rvp_comment:
      type: string(2147483647)
      fixed: false
      unsigned: false
      notnull: false
      primary: false
      autoincrement: false
    rvp_id:
      type: integer(4)
      fixed: false
      unsigned: false
      notnull: false
      primary: false
      autoincrement: false
    created_date:
      type: timestamp(16)
      fixed: false
      unsigned: false
      notnull: false
      primary: false
      autoincrement: false
    created_admin_id:
      type: integer(4)
      fixed: false
      unsigned: false
      notnull: false
      primary: false
      autoincrement: false
    modified_date:
      type: timestamp(16)
      fixed: false
      unsigned: false
      notnull: false
      primary: false
      autoincrement: false
    isenabled:
      type: boolean(1)
      fixed: false
      unsigned: false
      notnull: true
      default: 1
      primary: false
      autoincrement: false
    archive_status:
      type: integer(1)
      fixed: false
      unsigned: false
      notnull: true
      default: 0
      primary: false
      autoincrement: false
  relations:
    Contract_Status:
      local: contract_status_id
      foreign: contract_status_id
      type: one
    Agreement_Type:
      local: agreement_type_id
      foreign: agreement_type_id
      type: one
    Payment_Method:
      local: payment_method_id
      foreign: payment_method_id
      type: one
    AdminUser:
      local: created_admin_id
      foreign: admin_id
      type: one
    Contract_Payment:
      local: contract_id
      foreign: contract_id
      type: many
      cascade: [delete]
    Contract_Product:
      local: contract_id
      foreign: contract_id
      type: many
      cascade: [delete]
    Contract_Venue:
      local: contract_id
      foreign: contract_id
      type: many
      cascade: [delete]
Contract_Payment:
  connection: doctrine
  tableName: Contract_Payment
  columns:
    payment_id:
      type: integer(4)
      fixed: false
      unsigned: false
      primary: true
      autoincrement: true
    created_date:
      type: timestamp(16)
      fixed: false
      unsigned: false
      notnull: false
      primary: false
      autoincrement: false
    contract_id:
      type: integer(4)
      fixed: false
      unsigned: false
      notnull: false
      primary: false
      autoincrement: false
    payment_status_id:
      type: integer(4)
      fixed: false
      unsigned: false
      notnull: false
      primary: false
      autoincrement: false
    amount:
      type: decimal(20)
      fixed: false
      unsigned: false
      notnull: false
      primary: false
      autoincrement: false
    credit_card_amount:
      type: decimal(20)
      fixed: false
      unsigned: false
      notnull: false
      primary: false
      autoincrement: false
    credit_card_amount1:
      type: decimal(20)
      fixed: false
      unsigned: false
      notnull: false
      primary: false
      autoincrement: false
    check_amount:
      type: decimal(20)
      fixed: false
      unsigned: false
      notnull: false
      primary: false
      autoincrement: false
    due_date:
      type: timestamp(16)
      fixed: false
      unsigned: false
      notnull: false
      primary: false
      autoincrement: false
    modified_date:
      type: timestamp(16)
      fixed: false
      unsigned: false
      notnull: false
      primary: false
      autoincrement: false
    modified_admin_id:
      type: integer(4)
      fixed: false
      unsigned: false
      notnull: false
      primary: false
      autoincrement: false
    notes:
      type: string(200)
      fixed: false
      unsigned: false
      notnull: false
      primary: false
      autoincrement: false
    payment_method_id:
      type: integer(1)
      fixed: false
      unsigned: false
      notnull: false
      primary: false
      autoincrement: false
    payment_status_id_credit_card1:
      type: integer(4)
      fixed: false
      unsigned: false
      notnull: false
      primary: false
      autoincrement: false
    payment_status_id_credit_card2:
      type: integer(4)
      fixed: false
      unsigned: false
      notnull: false
      primary: false
      autoincrement: false
    credit_card_holdername:
      type: string(50)
      fixed: false
      unsigned: false
      notnull: false
      primary: false
      autoincrement: false
    credit_card_num_short:
      type: string(5)
      fixed: false
      unsigned: false
      notnull: false
      primary: false
      autoincrement: false
    credit_card_num_encrypt:
      type: string(255)
      fixed: false
      unsigned: false
      notnull: false
      primary: false
      autoincrement: false
    credit_card_expiration:
      type: timestamp(16)
      fixed: false
      unsigned: false
      notnull: false
      primary: false
      autoincrement: false
    credit_card_type:
      type: string(30)
      fixed: false
      unsigned: false
      notnull: false
      primary: false
      autoincrement: false
    second_credit_card_enable:
      type: integer(1)
      fixed: false
      unsigned: false
      notnull: false
      primary: false
      autoincrement: false
    credit_card_holdername1:
      type: string(50)
      fixed: false
      unsigned: false
      notnull: false
      primary: false
      autoincrement: false
    credit_card_num_short1:
      type: string(5)
      fixed: false
      unsigned: false
      notnull: false
      primary: false
      autoincrement: false
    credit_card_num_encrypt1:
      type: string(255)
      fixed: false
      unsigned: false
      notnull: false
      primary: false
      autoincrement: false
    credit_card_expiration1:
      type: timestamp(16)
      fixed: false
      unsigned: false
      notnull: false
      primary: false
      autoincrement: false
    credit_card_type1:
      type: string(30)
      fixed: false
      unsigned: false
      notnull: false
      primary: false
      autoincrement: false
    auth_reference:
      type: string(100)
      fixed: false
      unsigned: false
      notnull: false
      primary: false
      autoincrement: false
    auth_reference1:
      type: string(100)
      fixed: false
      unsigned: false
      notnull: false
      primary: false
      autoincrement: false
    billing_postal_code:
      type: string(20)
      fixed: false
      unsigned: false
      notnull: false
      primary: false
      autoincrement: false
    archive_status:
      type: integer(1)
      fixed: false
      unsigned: false
      notnull: true
      default: 0
      primary: false
      autoincrement: false
  relations:
    Contract:
      local: contract_id
      foreign: contract_id
      type: one
    Payment_Status:
      local: payment_status_id
      foreign: payment_status_id
      type: one
    AdminUser:
      local: modified_admin_id
      foreign: admin_id
      type: one
    Contract_Payment_History:
      local: payment_id
      foreign: payment_id
      type: many
      cascade: [delete]

I am using SQL SERVER.
Any idea would be greatly appreciated! Thanks

  • 1 1 Answer
  • 0 Views
  • 0 Followers
  • 0
Share
  • Facebook
  • Report

Leave an answer
Cancel reply

You must login to add an answer.

Forgot Password?

Need An Account, Sign Up Here

1 Answer

  • Voted
  • Oldest
  • Recent
  • Random
  1. Editorial Team
    Editorial Team
    2026-06-03T06:27:25+00:00Added an answer on June 3, 2026 at 6:27 am

    I understood that full outer join is not possible in Doctrine ORM.
    So, I have changed my application code to use the LEFT JOIN.

    • 0
    • Reply
    • Share
      Share
      • Share on Facebook
      • Share on Twitter
      • Share on LinkedIn
      • Share on WhatsApp
      • Report

Sidebar

Related Questions

SELECT EmployeeMaster.EmpNo, Sum(LeaveApplications.LeaveDaysTaken) AS LeaveDays FROM EmployeeMaster FULL OUTER JOIN LeaveApplications ON EmployeeMaster.id =
How can you do a full outer join in sqlserver 2005? Seems like there
I would like to exclude full stop . from string tokens like in the
I would like to create a full screen application (mac) but eventhough I have
I would like to create view that could be pulled from one corner to
I would like to use the HTML5 window.history feature to implement full AJAX navigation
I have a directory full of images that I would like to resize to
I have a table full of cells and i would like to get on
I have a video view that is full screen and would like to trigger
Hi I would like to make my <a> tag react on the full height

Explore

  • Home
  • Add group
  • Groups page
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Users
  • Help
  • SEARCH

Footer

© 2021 The Archive Base. All Rights Reserved
With Love by The Archive Base

Insert/edit link

Enter the destination URL

Or link to existing content

    No search term specified. Showing recent items. Search or use up and down arrow keys to select an item.