laravel - 从 Eloquent 关系中获取第一个元素

标签 laravel eloquent

我有一个关于查询的问题,如何从 Laravel 中的 hasMany 关系中获取第一个元素,我有一个包含 hasMany 消息关系的聊天表,我尝试使用这个,以及 take() 和 limit(),但是没有成功

$chats = Chat::with(['messages' => function ($query) {
    $query->first();
}])->get();

最佳答案

我认为,它可能存在另一个好的解决方案,但有了这个我可以做我想要的

聊天模型类:

public function firstMessage()
{
    return $this->hasOne(Message::class);
}

来自 Controller 的查询:

Chat::with('firstMessage')->get();

关于laravel - 从 Eloquent 关系中获取第一个元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63853971/

相关文章:

php - Laravel 检查相关模型是否存在

php - Laravel 5 交叉引用表

php - Laravel/Eloquent hasMany 关系 sum()

php - Laravel4 模型主键值在插入后丢失

laravel - Laravel自定义错误

php - Laravel验证不适用于多字节字符

mysql - 表中包含多个 json 列是否有任何缺点

php - Laravel hasMany 关系计数帖子上的喜欢和评论数

mysql - laravel 所见即所得编辑器 - 将 html 保存到数据库

php - 刷新后显示的 Laravel 闪存消息