在 Laravel 中使用 `paginate()` 方法时,如何确定将在结果中返回的列?

How to determine columns that will be returned in the result when using `paginate()` method in Laravel?

我有 2 个 table:usersarticles。要从 articles table 中获取所有列并且仅从 users table 中获取 user_name 列,我使用以下代码:

$articles = Article::join('users', 'articles.user_id', '=', 'users.user_id')
    ->get(array('articles.*', 'users.user_name'));

它工作正常,但是当我使用这样的 paginate() 方法时:

$articles = Article::join('users', 'articles.user_id', '=', 'users.user_id')
    ->paginate(10);

它从两个 table 中获取所有列,这是我不想要的。我的问题是:如果我在 Laravel 框架中使用 paginate() 方法,我如何 select 将在结果中返回的列?

select 函数执行此操作。

$articles = Article::join('users', 'articles.user_id', '=', users.user_id')
    ->select('articles.*', 'users.user_name')
    ->paginate(10);