- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在 Livewire 组件中实现无限分页,我注意到在初始页面加载时它正在加载对象,但是当我滚动并加载更多数据时,它会将数组添加到集合中,所以我最终得到一个集合具有数组和对象的混合值。知道如何解决这个问题,使其成为唯一的对象吗?我更喜欢拥有所有对象的原因是我在 View 中使用了一个方法,如果它是一个数组,我将无法访问它。
/**
* Loads more blog posts.
*
* @return void
*/
public function loadBlogs()
{
if ($this->hasMorePages !== null && !$this->hasMorePages) {
return;
}
if ($this->category_id) {
$posts = BlogPost::where('user_id', request()->user()->id)
->where('category_id', $this->category_id)
->with('category')
->orderBy('id', 'desc')
->cursorPaginate(16, ['*'], 'cursor', Cursor::fromEncoded($this->nextCursor));
} else {
$posts = BlogPost::where('user_id', request()->user()->id)
->with('category')
->orderBy('id', 'desc')
->cursorPaginate(16, ['*'], 'cursor', Cursor::fromEncoded($this->nextCursor));
}
$this->blogPosts->push(...$posts->items());
$this->hasMorePages = $posts->hasMorePages();
if ($this->hasMorePages === true) {
$this->nextCursor = $posts->nextCursor()->encode();
}
}
dd:
Illuminate\Support\Collection {#1751 ▼
#items: array:32 [▼
0 => array:10 [▶]
1 => array:10 [▶]
2 => array:10 [▶]
3 => array:10 [▶]
4 => array:10 [▶]
5 => array:10 [▶]
6 => array:10 [▶]
7 => array:10 [▶]
8 => array:10 [▶]
9 => array:10 [▶]
10 => array:10 [▶]
11 => array:10 [▶]
12 => array:10 [▶]
13 => array:10 [▶]
14 => array:10 [▶]
15 => array:10 [▶]
16 => App\Models\BlogPost {#1775 ▶}
17 => App\Models\BlogPost {#1776 ▶}
18 => App\Models\BlogPost {#1777 ▶}
19 => App\Models\BlogPost {#1778 ▶}
20 => App\Models\BlogPost {#1779 ▶}
21 => App\Models\BlogPost {#1780 ▶}
22 => App\Models\BlogPost {#1781 ▶}
23 => App\Models\BlogPost {#1782 ▶}
24 => App\Models\BlogPost {#1783 ▶}
25 => App\Models\BlogPost {#1784 ▶}
26 => App\Models\BlogPost {#1785 ▶}
27 => App\Models\BlogPost {#1786 ▶}
28 => App\Models\BlogPost {#1787 ▶}
29 => App\Models\BlogPost {#1788 ▶}
30 => App\Models\BlogPost {#1789 ▶}
31 => App\Models\BlogPost {#1790 ▶}
]
#escapeWhenCastingToString: false
}
最佳答案
我正在使用 Illuminate\Support\Collection
,我改为使用 Illuminate\Database\Eloquent\Collection
而不是使用 collect()
设置初始集合我使用了 new Collection()
结果是这样的:
Illuminate\Database\Eloquent\Collection {#1805 ▼
#items: array:32 [▼
0 => App\Models\BlogPost {#1789 ▶}
1 => App\Models\BlogPost {#1790 ▶}
2 => App\Models\BlogPost {#1791 ▶}
3 => App\Models\BlogPost {#1792 ▶}
4 => App\Models\BlogPost {#1793 ▶}
5 => App\Models\BlogPost {#1794 ▶}
6 => App\Models\BlogPost {#1795 ▶}
7 => App\Models\BlogPost {#1796 ▶}
8 => App\Models\BlogPost {#1797 ▶}
9 => App\Models\BlogPost {#1798 ▶}
10 => App\Models\BlogPost {#1799 ▶}
11 => App\Models\BlogPost {#1800 ▶}
12 => App\Models\BlogPost {#1801 ▶}
13 => App\Models\BlogPost {#1802 ▶}
14 => App\Models\BlogPost {#1803 ▶}
15 => App\Models\BlogPost {#1804 ▶}
16 => App\Models\BlogPost {#1786 ▶}
17 => App\Models\BlogPost {#1787 ▶}
18 => App\Models\BlogPost {#1788 ▶}
19 => App\Models\BlogPost {#1717 ▶}
20 => App\Models\BlogPost {#1764 ▶}
21 => App\Models\BlogPost {#1755 ▶}
22 => App\Models\BlogPost {#1813 ▶}
23 => App\Models\BlogPost {#1814 ▶}
24 => App\Models\BlogPost {#1815 ▶}
25 => App\Models\BlogPost {#1816 ▶}
26 => App\Models\BlogPost {#1817 ▶}
27 => App\Models\BlogPost {#1818 ▶}
28 => App\Models\BlogPost {#1819 ▶}
29 => App\Models\BlogPost {#1820 ▶}
30 => App\Models\BlogPost {#1821 ▶}
31 => App\Models\BlogPost {#1822 ▶}
]
#escapeWhenCastingToString: false
}
**编辑
使用 Illuminate\Database\Eloquent\Collection
会带来性能问题。查询如下所示:
select * from
'blog posts' where 'blog_posts'. 'id' in (10103, 10102, 10101, 10100, 10099, 10098,
10097, 10096, 10095, 10094, 10093, 10092, 10091, 10090, 10089, 10088, 10087, 10086, 10085, 10084
10083, 10082, 10081, 10080, 10079, 10078, 10077, 10076, 10075, 10074, 10073, 10072, 10071, 10070,
10069, 10068, 10067, 10066,
10065, 10064, 10063, 10062,
10061, 10060, 10059, 10058, 10057, 10056,
10055, 10054, 10053, 10052, 10051, 10050, 10049, 10048, 10047, 10046, 10045, 10044, 10043, 10042,
10041, 10040, 10039, 10038, 10037, 10036, 10035, 10034, 10033, 10032, 10031, 10030, 10029, 10028,
10027, 10026, 10025, 10024, 10023, 10022, 10021, 10020, 10019, 10018, 10017, 10016, 10015, 10014,
10013, 10012, 10011, 10010, 10009, 10008, 10007, 10006, 10005, 10004, 10003, 10002, 10001, 10000,
9999, 9998, 9997, 9996, 9995, 9994, 9993, 9992, 9991, 9990, 9989, 9988, 9987, 9986, 9985, 9984, 9983,
9982.
9981, 9980, 9979, 9978, 9977, 9976)
每次您前进一个页面时,此查询都会变得越来越大,这就是性能问题所在。
我决定坚持使用 Illuminate\Support\Collection
并使用数组,查询如下所示:
select * from `blog_posts` where `user_id` = 1 and (`id` < 9848) order by `id` desc limit 17
这似乎更高效。
关于Laravel cursorPagination 返回混合了数组和对象的结果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/70908209/
我知道您不应该将打印与 printf,cout 和 wprintf,wcout 混合使用,但是很难找到一个好的答案,为什么以及是否可以绕过它。问题是我使用了一个用 printf 打印的外部库,而我自己
我有以下问题: class A: animal = 'gerbil' def __init__(self): self.result = self.calculate_
我在屏幕上渲染了一堆形状(多边形),我没有使用深度测试。 我只是希望这些形状在绘制在空白区域时使用自己的颜色,并且在绘制到任何非空区域时使用红色像素,即在我的情况下绘制在另一个多边形上。 这里的问题实
我正在尝试在我的 Groovy/Grails 应用程序中混入一个类,我正在使用 the syntax defined in the docs ,但我不断收到错误消息。 我有一个如下所示的域类: cla
我已经找到了 5349574673 个关于 Alpha 混合的页面,但我仍然无法获得想要的结果。我正在尝试使用 opengl 使 gif/png 文件正确显示(具有透明度/半透明度)。 这是我的初始化
我正在尝试记录以下代码,但我似乎无法让 JSDoc 记录该类,甚至无法引用它的存在。 // SomeMixin.js export default superclass => class SomeMi
我有一个类型家族,我想使用 mixin 以模块化方式“丰富”它们。例如: trait Family { self => trait Dog { def dogname:String
我在 Storyboard中有 Collection View 。我在 Storyboard中有一部分单元格,还有我以编程方式创建的部分单元格。我应该在 sizeForItemAtIndexPath
我有一个字节数组,我想更改它的访问方式。这是数组: char bytes[100]; 我想要另一个数组来改变原始数组的访问方式。如果我们可以将引用放在数组中,它看起来像这样: char& bytes_
我需要从 c 文件调用 cpp 方法。我为此编写了这个界面.. cpp文件 extern "C" void C_Test(int p){ Class::CPP_Test(p); } c文件
我的网站有两份 CSS 表,一份是主 CSS,一份是移动 CSS。问题是在移动设备(iPhone、Android)上查看时,两个样式表会混淆。例如,在 iPhone 上查看网站时,会应用主样式表中的某
维护人员的说明:此问题涉及已过时的 bokeh.charts API,该 API 已于多年前删除。有关使用现代 Bokeh 创建各种条形图的信息,请参阅: https://docs.bokeh.org
在下图中,蓝色圆圈仅用于调试目的。我的目标是蓝色圆圈后面的每一层都应该是透明的。我只想保持蓝色圆圈外面的可见。 这是用 swift 编写的代码: let croissantView = UIV
我不是 SQL 专家。我正在使用 SQL Server 2005,我正在尝试弄清楚如何构造一个查询,以便它可以满足多种要求。我有两个表定义如下: Classroom - ID - Departme
原创: 我之前问过这个问题,但我最初的例子有点不完整,我想我现在可以更具体地说明我的问题。 对于上下文,我在旧的 Apple mac 计算机上使用 openGL 3.3 并尝试渲染四边形的重叠层。每个
是否可以将内联(类似 json)映射与同一对象的常规映射定义混合使用? 考虑以下示例: person: {age: 32, weight: 82} name: foo 生成的人应具有给定的年龄、体
假设我有一个 Parent 类,它有四个字段 A、B、C 和 D,这样 C 和 D 可以选择传递或使用默认实现进行初始化: open class Parent(val a: A, val b: B,
我正在使用 symphony (1.4) 框架在 PHP 中开发一个 Web 应用程序。该代码使用 SVN 进行版本控制。在此网络应用程序中,我们所有客户共享一个共同的基础,以及一些专门为每个客户创建
我想使用两个小部件(一次一个)作为我的应用程序的基础/背景,上面有一个 QML UI 和一个无边框窗口。它应该看起来像这样: 基于 OpenGL 的扫描组件 通过窗口句柄操作的 3D 可视化组件 多个
我们有一个混合的 AngularJS/Angular 8 应用程序,并且我们不断遇到来自不同版本框架的组件之间的变化检测非常慢的问题。到目前为止,我们只在 Angular 组件中使用 AngularJ
我是一名优秀的程序员,十分优秀!