วิธีใช้นามแฝงโมเดล cakephp อย่างถูกต้อง

หากคุณใจดีมากที่จะให้โค้ดพื้นฐานบางส่วนที่แสดงวิธีการใช้นามแฝงแบบจำลองอย่างถูกต้อง

ความสับสนหลักของฉันอยู่ที่

  1. เมื่อฉันใช้นามแฝงสำหรับโมเดล ฉันควรสร้างตัวควบคุมและมุมมองเฉพาะสำหรับนามแฝงดังกล่าว เช่นเดียวกับเมื่อฉันใช้โมเดลที่ฉันสร้างตัวควบคุมและมุมมองเฉพาะ หรือฉันควรใช้นามแฝงเป็นส่วนขยายอย่างง่ายของโมเดลที่มีอยู่

  2. โปรดระบุตัวอย่างการใช้นามแฝงในคอนโทรลเลอร์

ฉันขอโทษที่ฉันไม่ได้ให้รหัสใดๆ แต่ความสับสนของฉันอยู่ในระดับนามธรรมและแผนผังมาก


person CMS scripting    schedule 07.10.2012    source แหล่งที่มา
comment
คุณจะแก้ปัญหาอะไร?   -  person bancer    schedule 07.10.2012
comment
ระบบส่งข้อความภายในเว็บไซต์ ฉันมีโมเดล แต่เห็นได้ชัดว่าความจริงที่ว่ามันมี ForeignKeys หลายอันสำหรับโมเดลผู้ใช้ของฉัน ทำให้ยากสำหรับฉันที่จะนำไปใช้ ฉันได้เห็นตัวอย่างและนามแฝงเป็นวิธีที่จะไป ฉันแค่สับสนว่าควรใช้จริงอย่างไร ในส่วนของฉันค่อนข้างงมงาย แต่เอกสารและรหัสที่อธิบายว่ามันหายากมาก ช่วย   -  person CMS scripting    schedule 07.10.2012
comment
คำถามที่คล้ายกันได้รับคำตอบแล้ว - stackoverflow.com/questions/4275154/   -  person bancer    schedule 08.10.2012


คำตอบ (1)


  1. ไม่ คุณไม่จำเป็นต้องสร้างคอนโทรลเลอร์และมุมมองสำหรับโมเดลนามแฝง
  2. พิจารณาเช่น ของตารางข้อความซึ่งมีคีย์ต่างประเทศ sender_id และผู้รับ_id ซึ่งทั้งคู่ชี้ไปที่โมเดลผู้ใช้ ดังนั้นในโมเดลข้อความของคุณ การประกาศการเชื่อมโยงจะมีลักษณะดังนี้:

    public $belongsTo = array(
        'Sender' => array(
            'className' => 'User',
            'foreignKey' => 'sender_id'
        ),
        'Recipient' => array(
            'className' => 'User',
            'foreignKey' => 'recipient_id',
        )
    );

ในตัวควบคุมข้อความของคุณ หากคุณต้องการเข้าถึงผู้ส่ง คุณจะต้องใช้ $this->Message->Sender หรือสำหรับผู้รับ $this->Message->Recipient หากคุณค้นหาในรูปแบบข้อความอาร์เรย์ผลลัพธ์จะมีผู้ส่งภายใต้ 'ผู้ส่ง' และผู้รับภายใต้คีย์ 'ผู้รับ' ตามลำดับ

person ADmad    schedule 08.10.2012