所以我使用简单的 Laravel 分页命令{{$posts->links()}}在一页上显示 5 个帖子。Laravel 的分页正在完成它的工作,但它显示了奇怪的箭头。请参考下面的图片,如果有人愿意帮助可以向我索取代码,我会分享它们。

Pagination::make() Laravel 5中的方法在Pagination类中不存在.
是否有解决方法在Laravel 5中进行手动分页工作?
是否可以在 paginate() 函数中使用“limit”参数?
我正在尝试这个:
$users->where(...)->limit(50)->paginate($page)
Run Code Online (Sandbox Code Playgroud)
...现在,如果我在数据库中有 100 个用户,那么 paginate 函数的响应将是所有 100 个用户,而不是 50 个(或使用 limit 参数定义的用户数)。
所以,我的问题是:当我使用分页功能时是否可以实现限制参数?
我想按页码获取数据,正常情况下我们使用此代码
$jobs = Jobs::paginate(10);
Run Code Online (Sandbox Code Playgroud)
laravel 通过 URL 中定义的 GET“page” 参数获取数据,如果我们的 URL 是http://www.example.com/job?page=2
laravel 返回第 2 页的数据
我想在不使用 page 参数的情况下执行此操作网址
我想让你给我介绍这样的东西
$jobs = Jobs::paginate(10,[
'page'=>2
]);
Run Code Online (Sandbox Code Playgroud) 我正在建立一个基本论坛(灵感来自 laracasts.com/discuss).当用户发布对帖子的回复时:
如何确定将在(?page=x)上发布新回复的页面以及如何在回复编辑后返回正确的页面?或者,从主要帖子列表中,最新回复的页面是哪个页面?
这是我目前的ForumPost模型(减去几个不相关的东西) -
<?php namespace App;
use Illuminate\Database\Eloquent\Model;
/**
* Class ForumPost
*
* Forum Posts table
*
* @package App
*/
class ForumPost extends Model {
/**
* Post has many Replies
* @return \Illuminate\Database\Eloquent\Relations\HasMany
*/
public function replies()
{
return $this->hasMany('App\ForumReply');
}
/**
* Get the latest reply for a post
* @return null
*/
public function latestReply()
{
return $this->replies()->orderBy('created_at', 'desc')->first();
}
}
Run Code Online (Sandbox Code Playgroud)
UPDATE
看看这个,让我知道你的想法.它的工作方式有点奇怪,但它返回给定回复ID的正确页面,它只是一种方法:
public …Run Code Online (Sandbox Code Playgroud) 我想创建一个返回为 json 的分页,但出现如下错误
Macroable.php 第 74 行中的 ErrorException:方法链接不存在。
这是我的控制器代码
public function getcustomer($id){
$customer = Customer::find($id)->paginate(5);
return response()->json([$customer], 200);
}
Run Code Online (Sandbox Code Playgroud)
这里是我的刀片代码
{{$customer->links('vendor.pagination.pagination')}}
Run Code Online (Sandbox Code Playgroud)
如何使用 json response() 创建分页?
在我当地的环境中,我做到了$items = Model::paginate(10);,并且奏效了。然后我把它推到生产中,当我点击分页链接时,它一次又一次地显示第 1 页。然后我做了dd($items)。我发现current Page的财产length aware pagination时,我的地址更改为没有改变/items?page=*。如何使当前页面属性相应地更改或还有其他事情?提前致谢
laravel laravel-5 laravel-pagination laravel-5.3 laravel-5.4
我目前发现您可以对原始 sql 查询进行水合。
我有以下查询:
DB::table(DB::raw('(SELECT *, Y(location) AS longitude, X(location) AS latitude FROM meetings WHERE MBRCONTAINS(@quadrat, location)) AS sub'))
->select(DB::raw('(FLOOR(SQRT(POW((@ibk_breite - sub.latitude) * 111, 2) + POW((@ibk_laenge - sub.longitude) * 111 * ABS(COS(RADIANS(@ibk_breite))),2)))) AS distance, sub.*, latitude, longitude'));
Run Code Online (Sandbox Code Playgroud)
我按以下方式补水
$meetings = Meeting::fromQuery($query->toSql());
Run Code Online (Sandbox Code Playgroud)
在刀片视图中,我需要从不同的表中获取一些额外的数据,例如:
$meeting->user
Run Code Online (Sandbox Code Playgroud)
其中引用了用户模型。但是,如果我不是完全错误的,那会在 for each 循环中导致 n+1 问题,因为我并不急于加载它?!那么是否可以像通常那样急切加载所需的模型
->with('user', 'books', 'etc...')
Run Code Online (Sandbox Code Playgroud)
??
也可以像$meetings = $query->paginate(5);这样对它进行分页 并做$meetings->withPath('home');
编辑:找到了一个解决方案:
// Do your query stuff
// Get count before the query because it won't work with skip and …Run Code Online (Sandbox Code Playgroud) Laravel 版本:5.5
PHP版本:7
你好,我想执行这个查询:
select (case
when(title like 'my-keyword') then 1
when(description like 'my-keyword') then 2
) as ordering from products where id > 10;
Run Code Online (Sandbox Code Playgroud)
当我通过查询生成器执行此操作时:
$products = DB::table('products')->select(DB::raw('(case
when(title like "?") then 1
when(description like "?") then 2
) as ordering'))->where('id', '>', 10)->setBindings(['my-keyword', 'my-keyword'])->paginage(10);
Run Code Online (Sandbox Code Playgroud)
这将获得计数,正如我们所知,这将删除所有选择部分并将其替换为 count(*) 作为聚合,因此如果我在此查询生成器上使用 setBindings 并传递 ['my-keyword', 'my-keyword']此聚合查询将更改为:
select count(*) as aggregate from products where id > my-keyword;
Run Code Online (Sandbox Code Playgroud)
因此,这将导致在此查询和其他类似查询的替代方案上使用分页的问题!
为了解决这个问题,我更改了/..../Query/Builder.php中的一些代码:
$total = $this->getCountForPagination($columns);
Run Code Online (Sandbox Code Playgroud)
对此:
$all = $this->get();
$total = $all->count();
Run Code Online (Sandbox Code Playgroud)
对于这种情况,我知道这是错误的,但现在它有效!
我该怎么做才能以正确的方式解决这个问题?
我有一个页面,根据这样的书籍日期列出公寓
mypage.com/finder?date-from=2011-03-04&date-to=2011-03-12
Run Code Online (Sandbox Code Playgroud)
一切都是正确的,我从url获取date-from和date-get并使用这些值搜索数据库.问题是当我分页并点击进入另一个页面时,网址会更改为.
mypage.com/finder?page=9
Run Code Online (Sandbox Code Playgroud)
并获得错误必须提供值
必须是正确的网址
mypage.com/finder?date-from=2011-03-04&date-to=2011-03-12&page=9
Run Code Online (Sandbox Code Playgroud)
我在控制器上使用paginate和$ searchResult-> links(); 生成链接
我能做什么从页面到页面传递日期值,以便分页有效?
谢谢