我需要帮助定义 Laravel Eloquent 关系

Posted

技术标签:

【中文标题】我需要帮助定义 Laravel Eloquent 关系【英文标题】:I need help defining Laravel Eloquent relationships 【发布时间】:2021-10-31 04:48:38 【问题描述】:

两种型号:

class Event extends Model
  // serves the same role as Post 
    public function memoryof()
      
        return $this->hasMany(MemoryOf::class);
    




class MemoryOf extends Model
  // serves the same role as comments
    public function event()
    
          return $this->belongsTo(Event::class);
    
    

我这样检索数据:

$events=Event::with('memories')->get()->sortByDesc('created_at');

这应该给我一个集合。相反,它给出了:

“此集合实例上不存在属性 [memoryof]。”

请帮我解决这个问题,以便我收藏。

【问题讨论】:

关系名为memoryof。我认为get() 应该在sortByDesc() 之后 @brombeer sortByDesc 是 Collection 函数,这很好。如果在get() 之前,则为orderByDesc @aynber 好的,谢谢 【参考方案1】:

请试试这个

$events = Event::with('memoryof')->get()->sortByDesc('created_at');
dd($events)

【讨论】:

好的,这行得通。我会问一个后续问题。 如果有帮助,请将此答案标记为已验证@Dan'l

以上是关于我需要帮助定义 Laravel Eloquent 关系的主要内容,如果未能解决你的问题,请参考以下文章

Laravel,获得类似 Eloquent 使用查询生成器的结果

将 Sql 查询转换为 Eloquent Laravel 5.6

相关模型 eloquent laravel 中的自定义查询

在 Laravel 5 Eloquent 中获取原始 SQL 查询的结果

laravel eloquent获取多个用户之间的所有常见聊天

如何在 Laravel 中定义 Eloquent 关系