2016-03-20 13 views
0

Şu anda ne var:

$paginationQuery 
       ->select([ 
        'EventTicketSalesDelegates.attending', 
        'EventTicketSalesDelegates.event_package_id', 
        'EventPackages.name', 'EventPackages.id', 
        'EventPackages.description', 
        'Contacts.id', 'Contacts.name', 'Contacts.email', 
        'Contacts.mobile', 'Contacts.company', 
        'Contacts.phone', 'Contacts.fax', 'Contacts.address_one', 
        'Contacts.address_two', 'Contacts.comments', 'Contacts.job_title', 
       ]) 
       ->join(
        [ 
         'EventTicketSalesDelegates' => [ 
          'table'  => 'event_ticket_sales_delegates', 
          'type'  => 'INNER', 
          'conditions' => [ 
           'EventTicketSalesDelegates.contact_id = Contacts.id' 
          ] 
         ], 
         'EventTicketSales' => [ 
          'table'  => 'event_ticket_sales', 
          'type'  => 'INNER', 
          'conditions' => [ 
           'EventTicketSalesDelegates.event_ticket_sale_id = EventTicketSales.id' 
          ] 
         ], 
         'EventPackages' => [ 
          'table'  => 'event_packages', 
          'type'  => 'INNER', 
          'conditions' => [ 
           'EventPackages.id = EventTicketSalesDelegates.event_package_id' 
          ] 
         ] 
        ] 
       )->where(['EventTicketSales.id' => $eventTicketSaleId]); 

alıyorum Ne

Ben event_package_id tamsayı olmak istiyorum beklenen ne Pastada özel bir sorgu için türü nasıl zorlar 3.x?

name: "Song 123", 
email: "[email protected]", 
mobile: "+62 123", 
company: "SK ", 
phone: "+62 123", 
fax: "", 
address_one: "", 
address_two: "", 
comments: "", 
job_title: "Director", 
EventTicketSalesDelegates: { 
attending: "1", 
event_package_id: "53" 
} 
, 
EventPackages: { 
name: "Roundtable Forum Only", 
id: "53", 
description: "Roundtable Forum Only(3 Mar 2016 9:00 - 4 Mar 2016 12:00)" 
}, 
attending: "1", 
event_package_id: "53" 

Ben

I çalıştı Ne

sorgudan sonra bunu ekledi.

$paginationQuery 
     ->selectTypeMap() 
     ->addDefaults([ 
      'EventTicketSalesDelegates.event_package_id' => 'integer', 
     ]); 

Hangi hatayı aldım? Bir tür eklerken

Eğer select() çağrısında özel adlandırma tanımlayarak sürece
Undefined index: EventTicketSalesDelegates.event_package_id 

cevap

0

, CakePHP'nin varsayılan örtüşme biçimini kullanmalısınız, bu senin durumda EventTicketSalesDelegates__event_package_id Yani

AssociationName__column_name 

olduğunu.

Ayrıca

gibi Query::aliasField() aracılığıyla programlı diğer adı alabilirsiniz
İlgili konular