2014-07-14 22 views
2

我试图附加一个消息到对话(多对多),但我得到一个错误。我错过了什么?对非对象错误的雄辩附加()

透视表架构

conversation_messageconversation_idmessage_id

模型

class Conversation extends Eloquent 
{ 
    public function messages() 
    { 
     $this->belongsToMany('Message', 'conversation_message', 'conversation_id', 'message_id'); 
    } 
} 

class Message extends Eloquent 
{ 
    public function conversations() 
    { 
     $this->belongsToMany('Conversation', 'conversation_message', 'message_id', 'conversation_id'); 
    } 
} 

控制器

$conversation = Conversation::find(1); 
$message = Message::find(1); 
$conversation->messages()->attach($message); 

错误

Call to a member function attach() on a non-object 

回答

5

return S IN两种方法丢失:

class Conversation extends Eloquent 
{ 
    public function messages() 
    { 
     return $this->belongsToMany('Message', 'conversation_message', 'conversation_id', 'message_id'); 
    } 
} 

class Message extends Eloquent 
{ 
    public function conversations() 
    { 
     return $this->belongsToMany('Conversation', 'conversation_message', 'message_id', 'conversation_id'); 
    } 
}