mysql - Laravel SUBSTRING 关于 Eloquent 查询

标签 mysql laravel-5.3 eloquent

问题

如何对 Eloquent 结果中的某一行设置限制?

场景

我只需要从结果中的一个字段中检索大约 100 个字符。目前我正在使用 join 语句,因此会返回多个结果。我基本上只需要 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();
    }

我不知道如何在查询上设置过滤器以仅返回 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;
}

关于mysql - Laravel SUBSTRING 关于 Eloquent 查询,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41936286/

相关文章:

php - WordPress 登录(用户 ID)和特定表数据

php - 包装 mysql 事务

php - Laravel 在路由中追加 URI

mysql - 如何在laravel项目中使用多个数据库连接?

php - 如何在 Laravel Eloquent 关系中使用查询生成器或原始 SQL

mysql - 将 MySQL 对表中一对值的搜索转换为 Eloquent 查询

mysql - 是否有一个查询只从一个表中选择列,如果仅按该表的主键分组,会给出不正确的结果?

mysql - 如何跨不同数据库维护外键约束?

php - 如何使用 Laravel Migrations 在 Mysql 列中添加注释

php - Laravel 迁移部署