为了账号安全,请及时绑定邮箱和手机立即绑定

如何使方法中的参数有效?

如何使方法中的参数有效?

PHP
慕田峪9158850 2022-01-02 14:52:41
在我的实体中的一个方法中,我使用了一个参数“addlinkedDocuments”。class Documents {  /**  * Many Documents link to many Documents.  * @ORM\ManyToMany(targetEntity="App\Entity\Documents", fetch="EAGER")  * @ORM\JoinTable(name="documents_documents",  *      joinColumns={@JoinColumn(name="link_origin", referencedColumnName="id")},  *      inverseJoinColumns={@JoinColumn(name="link_destination", referencedColumnName="id")}  *      )  * @Groups("documents")  */  private $linkedDocuments;  public function __construct() {    $this->linkedDocuments = new ArrayCollection();  }  /**  * @return Collection|linkedDocuments[]  */  public function getlinkedDocuments(): Collection  {    return $this->linkedDocuments;  }  public function addlinkedDocuments(linkedDocuments $linkedDocuments): self  {    if (!$this->linkedDocuments->contains($linkedDocuments)) {      $this->linkedDocuments[] = $linkedDocuments;    }    return $this;  }  public function removelinkedDocuments(linkedDocuments $linkedDocuments): self  {    if ($this->linkedDocuments->contains($linkedDocuments)) {      $this->linkedDocuments->removeElement($linkedDocuments);    }    return $this;  }但我收到错误消息:类“App\Entity\Documents”中方法“addlinkedDocuments”中参数“linkedDocuments”的类型提示无效。
查看完整描述

1 回答

?
慕码人8056858

TA贡献1803条经验 获得超6个赞

据我所知,在Documents.


因此,任何给定的文档都可以与许多其他文档相关。


linkedDocuments只是保存 的集合的变量的名称Documents。


我的观点是链接的文档不是类型linkedDocumentsbut Documents,所以你的类型提示应该相应地改变:


/**

 * @return Collection|Document[]

 */

 public function getlinkedDocuments(): Collection

 {

     return $this->linkedDocuments;

 }


 public function addlinkedDocument(Document $linkedDocument): self

 {

     if (!$this->linkedDocuments->contains($linkedDocument)) {

         $this->linkedDocuments[] = $linkedDocument;

     } 


     return $this;

 }


 public function removelinkedDocument(Document $linkedDocument): self

 {

     if ($this->linkedDocuments->contains($linkedDocument)) {

         $this->linkedDocuments->removeElement($linkedDocument);

     }


     return $this;

 }

编辑:根据 Cerad 的建议,我已经去重命名方法以更好地反映多元化。所以你的类应该被调用,Document以便任何一个给定的文档都可以链接到许多文档。


查看完整回答
反对 回复 2022-01-02
  • 1 回答
  • 0 关注
  • 111 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信