簡體   English   中英

FosMessageBundle sendId不能為null

[英]FosMessageBundle sendId cannot be null

我用我的消息包實現了fosMessageBundle,但是如果我想發送新消息,請使用fos_message.composer,我收到此錯誤:

    An exception occurred while executing 'INSERT INTO Message (body, created_at, threadId,   sendId) VALUES (?, ?, ?, ?)' with params ["Test mesaj\u0131", "2013-12-23 12:15:48", 32, null]:

SQLSTATE[23000]: Integrity constraint violation: 1048 Column 'sendId' cannot be null

我的問題是,為什么未設置消息束發送ID?


注意:我正在調試setSender數據。 每個數據似乎都可以。


代碼:

$sender     = $this->getUser();
        $threadBuilder = $this->get('fos_message.composer')->newThread();
        $threadBuilder->
            addRecipient($clinicOwner)
            ->setSender($sender)
            ->setSubject($form['subject'])
            ->setBody($form['message']);
        $sender = $this->get('fos_message.sender');
        $sender->send($threadBuilder->getMessage());

問題解決了!

message.orm.yml中的manyToOne.sender.joinColumn.name寫錯。

錯誤的:

manyToOne:
thread:
  targetEntity: ATL\MessageBundle\Entity\Thread
  inversedBy: messages
  joinColumn:
    name: threadId
    referencedColumnName: id
sender:
  targetEntity: ATL\UserBundle\Entity\User
  joinColumn:
    name: **threadId**
    referencedColumnName: id

真正:

manyToOne:
thread:
  targetEntity: ATL\MessageBundle\Entity\Thread
  inversedBy: messages
  joinColumn:
    name: threadId
    referencedColumnName: id
sender:
  targetEntity: ATL\UserBundle\Entity\User
  joinColumn:
    name: sendId
    referencedColumnName: id

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM