【问题标题】:Laravel select the last row of linked table using eloquent relationshipLaravel 使用 eloquent 关系选择链接表的最后一行
【发布时间】:2018-08-11 20:48:56
【问题描述】:

我正在尝试使用 laravel eloquent 获取参考表的最后一行。 我有一个 User 模型,它引用了 MessageParticipant 模型(返回用户参与的所有消息主题)

public function messages()
{
 return $this->hasMany(MessageParticipant::class);
}

MessageParticipant 指的是MessageSubject 模型(返回参与者所属的消息主题)

public function message_subject()
{
    return $this->belongsTo(MessageSubject::class);
}

MessageSubjectmodel 指的是Message 模型(返回消息主题内的所有消息)

public function messages()
{
    return $this->hasMany(Message::class);
}

我想使用 eloquent 查询获取用户参与的每个消息主题的最后一条消息。我该怎么做?

【问题讨论】:

    标签: php mysql laravel eloquent


    【解决方案1】:

    尝试将whereHaslatest 方法一起使用:

    User::whereHas('message_subject', function ($query) {
        $query->with('messages' => function ($q) {
            $q->latest()->limit(1);
        });
    })->get();
    

    Docs

    【讨论】:

      猜你喜欢
      • 2018-10-20
      • 2015-10-14
      • 2013-04-03
      • 2019-03-04
      • 1970-01-01
      • 2021-12-21
      • 2021-01-05
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多