代码之家  ›  专栏  ›  技术社区  ›  Prodigle

Laravel多态关系0结果

  •  1
  • Prodigle  · 技术社区  · 7 年前

    我和拉雷维尔有多态关系。

    从消息开始->messageable将为我提供正确的结果(例如,与该消息相关联的群或聊天)。

    可消息的_id

    我的建模方法如下

    class Message extends Model
    {
    public function messageable(){
        return $this->morphTo();
    }
    

    class Group extends Model
    {
    function messages(){
        return $this->morphMany('Message','messageable');
    }
    
    class Chat extends Model
    {
    public function messages(){
        return $this->morphMany('Message','messageable');
    

    这些返回为空。

    使用的示例数据: 1

    有什么想法吗?

    2 回复  |  直到 7 年前
        1
  •  1
  •   fubar    7 年前

    你们的关系不正确。您需要引用完整的类命名空间,而不仅仅是类名本身。例如。

    class Group extends Model
    {
        public function messages()
        {
            return $this->morphMany(\App\Models\Message::class', 'messageable');
        }
    }
    
        2
  •  1
  •   Prodigle    7 年前