【问题标题】:Parameters in Laravel Eloquent paginationLaravel Eloquent 分页中的参数
【发布时间】:2019-09-24 17:26:01
【问题描述】:
$articles  = Article::paginate(10, ['*'], 'pag');

上面的第二个参数[*]是做什么的?

  • 第一个参数是分页显示的资源数量。
  • 第三个参数是将出现在 URL 中的查询的名称(即“pag?=3”)。

“[*]”呢?用了好久都不知道是干什么用的。

不要告诉我在 Laravel Docs 中搜索,因为我已经这样做了,但没有找到任何有用的东西。

【问题讨论】:

  • 第二个参数是 SQL 选择。 [*] 表示 select table.* from table ...。您可以指定要从数据库中选择哪些列。例如['id', 'name'] -> select users.id, users.name from users ...
  • 好!您应该发布作为答案

标签: laravel pagination


【解决方案1】:

第二个参数是来自Illuminate\Database\Eloquent\Builderselect() 方法,表示select * from table ... limit 15

您可以指定要从数据库中选择哪些列。

例如$users->paginate(10, ['id', 'name']); -> select id, name from users ... limit 10


仅供参考:['*'] 不完全合格!

如果您在选择中使用join,如果两个表中都存在同名的列,则可能会出现问题。比如uuid等...

在这种情况下,您应该在 select 中指定表名:['table_name.*'] -> select table_name.* from table_name ... limit 15

【讨论】:

    猜你喜欢
    • 2020-04-26
    • 1970-01-01
    • 2015-07-17
    • 2015-06-06
    • 2016-09-26
    • 1970-01-01
    • 2017-07-24
    • 2013-01-30
    • 2018-12-12
    相关资源
    最近更新 更多