【问题标题】:Laravel 5.7 PaginationLaravel 5.7 分页
【发布时间】:2019-12-10 02:53:23
【问题描述】:

我正在使用现有数据库,其中有一个名为 pnc_members 的表

因为 laravel 错误地解释了我放置的那个名字

protected $table = 'pnc_members';

pnc_members.php 模型中解决该问题。

在我的控制器中,我使用

获取表数据
$members = pnc_members::paginate(10);

然而;插入分页链接时,视图 members.blade.php 出现错误

{{ $members->links() }}

错误是 错误异常 (E_ERROR) 调用未定义的方法 App\Models\pnc_members::links()(查看:C:\wamp64\www\pnc-system\resources\views\members.blade.php) 以前的例外 调用未定义的方法 App\Models\pnc_members::links()

所以看起来$members 与表的保护指令混淆了!

我尝试将变量更改为 get 中使用的另一个名称(即 $members_pg),但它仍然不起作用!

任何帮助将不胜感激。

【问题讨论】:

  • 请发布您的整个操作代码。

标签: php laravel pagination actionlink


【解决方案1】:

我想通了!

我在控制器中添加了一行 $pages = $members->links(); 然后使用 dd($pages); 来查看它捕获的内容,看起来不错。

返回的视图添加数组与 $pages 变量传递给刀片如下: return view('members', ['pages' => $pages])->with('members', $会员);

然后我将 {{$pages} 放入我的刀片中,它可以完美运行。

为什么它不起作用我真的不知道,但至少我解决了它。

谢谢//

【讨论】:

    【解决方案2】:

    如果您的表是 pnc_members,则您的模型名称必须是 PncMember。

    所以首先确保你有这个模型 然后在你的控制器中你可以使用

    $members = PncMember::paginate(5);
    

    【讨论】:

    • 不起作用的表名以“s”结尾,如果我更改它,则找不到控制器。我将控制器中的链接捕获为传递给刀片的变量的解决方法对我有用。我对其他刀片也有同样的问题,只是为了在其中运行它,它们都有以“s”结尾的表名。当我有更多时间时,我会尝试其他事情,但现在我可以解决我所有刀片中的工作。感谢您的帮助//
    猜你喜欢
    • 1970-01-01
    • 2019-06-20
    • 1970-01-01
    • 1970-01-01
    • 2020-09-28
    • 1970-01-01
    • 2019-07-06
    • 2019-04-15
    • 2019-03-09
    相关资源
    最近更新 更多