Laravel Eloquent 查询上的 SUBSTRING

Laravel SUBSTRING on Eloquent query

问题

如何限制 Eloquent 结果中的其中一行?

场景

我只需要从结果中的一个字段中检索大约 100 个字符。目前,我正在使用连接语句,因此 return 编辑了多个结果。我基本上只需要 post.content

的前 100 个字符

代码

public function getAll()
    {
        return Post::select('posts.id', 'posts.title', 'posts.content', 'posts.views', 'posts.comments', 'posts.tags', 'posts.date_created', 'users.image_url', 'users.username', 'users.toxick')
                    ->join('users', 'posts.user_id', '=', 'users.id')
                    ->get();
    }

我不确定如何将查询过滤器设置为仅 return 100 个字符。我四处看了看,但没有发现任何有用的东西,至少对我的特定情况没有用。

目前无法对此进行测试(抱歉)但是怎么样:

public function getAll(){
    $query = Post::select('posts.id', 'posts.title', 'posts.content','posts.views', 'posts.comments', 'posts.tags', 'posts.date_created', 'users.image_url', 'users.username', 'users.toxick')
                ->join('users', 'posts.user_id', '=', 'users.id')
                ->get();

    foreach($query as $entries){
        $entries->content = substr($entries->content, 1, 100);
    }

    return $query;
}