Heim > PHP-Framework > Laravel > Hauptteil

In diesem Artikel wird erläutert, wie Sie benutzerdefinierte Attribute zu paginierten Ergebnissen in Laravel hinzufügen

PHPz
Freigeben: 2023-04-03 18:50:42
Original
823 Leute haben es durchsucht

In Laravel ist die Paginierung eine sehr häufig verwendete Funktion. Laravel bietet eine praktische Paginierungsklasse, mit der sich Paginierung problemlos implementieren lässt. In einigen Fällen müssen wir jedoch möglicherweise weitere Attribute zu den paginierten Ergebnissen hinzufügen, beispielsweise die Gesamtzahl der Datensätze oder Suchschlüsselwörter. In diesem Artikel erfahren Sie, wie Sie in Laravel benutzerdefinierte Eigenschaften für paginierte Ergebnisse hinzufügen.

Werfen wir zunächst einen kurzen Blick auf die Paginierungsfunktionalität in Laravel. Wir können die Methode paginate() verwenden, um paginierte Daten aus der Datenbank abzurufen, zum Beispiel: paginate()方法从数据库中获取分页数据,例如:

$users = DB::table('users')->paginate(10);
Nach dem Login kopieren

这条代码将从名为users的数据库表中获取10条记录,并将它们组织成一页,每页10条记录。现在,我们可以在视图中将这些记录渲染出来,并在页码下方显示分页链接。

但是,有时我们需要向分页结果添加更多的属性,例如总记录数。为了实现这一点,我们可以使用Laravel的查询构建器。考虑以下代码:

$users = DB::table('users')->select(\DB::raw('count(*) as total'))->paginate(10);
Nach dem Login kopieren

在这个例子中,我们向查询构建器中添加了一个select子句,它将返回一个名为total的列,它的值是查询结果的总行数。现在,我们可以在视图中像这样访问这个属性:

{{ $users->total }}
Nach dem Login kopieren

同样,我们可以使用查询构建器添加其他属性。例如,如果我们想在分页结果中添加搜索关键字,我们可以按以下方式修改上述示例代码:

$keyword = 'John';
$users = DB::table('users')
            ->select(\DB::raw('count(*) as total'))
            ->where('name', 'like', "%{$keyword}%")
            ->paginate(10);
$users->keyword = $keyword;
Nach dem Login kopieren

在这个例子中,我们添加了另一个查询构建器函数where,它将在结果中只返回包含关键字John的名称的行。然后,我们将关键字存储在$users对象的自定义属性keyword中,使我们可以在视图中访问它:

{{ $users->keyword }}
Nach dem Login kopieren

通过这种方式,我们可以向分页结果添加任意数量和类型的属性。注意,我们可以通过访问分页结果对象的公共属性来访问这些自定义属性。

在本文中,我们讨论了如何在Laravel中为分页结果添加自定义属性。我们使用查询构建器中的selectwhere函数实现了这一点。这些方法不仅适用于paginate()rrreee

Dieser Code ruft 10 Datensätze aus der Datenbanktabelle mit dem Namen users ab Organisieren Sie sie in Seiten mit 10 Datensätzen pro Seite. Wir können diese Datensätze nun in einer Ansicht rendern und Paginierungslinks unterhalb der Seitenzahlen anzeigen.

Manchmal müssen wir jedoch den paginierten Ergebnissen weitere Attribute hinzufügen, beispielsweise die Gesamtzahl der Datensätze. Um dies zu erreichen, können wir den Abfrage-Builder von Laravel verwenden. Betrachten Sie den folgenden Code: 🎜rrreee🎜 In diesem Beispiel haben wir dem Abfrage-Builder eine select-Klausel hinzugefügt, die eine Spalte mit dem Namen total zurückgibt, deren Wert die Gesamtsumme ist Anzahl der Zeilen in den Abfrageergebnissen. Jetzt können wir in der Ansicht wie folgt auf diese Eigenschaft zugreifen: 🎜rrreee🎜 Ebenso können wir mit dem Abfrage-Builder weitere Eigenschaften hinzufügen. Wenn wir beispielsweise Suchschlüsselwörter in den paginierten Ergebnissen hinzufügen möchten, können wir den obigen Beispielcode wie folgt ändern: 🎜rrreee🎜 In diesem Beispiel haben wir eine weitere Abfrage-Builder-Funktion where hinzugefügt. Dies wird der Fall sein Gibt in den Ergebnissen nur Zeilen zurück, die den Namen des Schlüsselworts John enthalten. Anschließend speichern wir das Schlüsselwort in einer benutzerdefinierten Eigenschaft keyword des Objekts $users, sodass wir in der Ansicht darauf zugreifen können: 🎜rrreee🎜Auf diese Weise können wir hinzufügen eine beliebige Anzahl und Art von Eigenschaften zu paginierten Ergebnissen. Beachten Sie, dass wir auf diese benutzerdefinierten Eigenschaften zugreifen können, indem wir auf die öffentlichen Eigenschaften des paginierten Ergebnisobjekts zugreifen. 🎜🎜In diesem Artikel haben wir besprochen, wie man benutzerdefinierte Eigenschaften für paginierte Ergebnisse in Laravel hinzufügt. Dies erreichen wir mithilfe der Funktionen select und where im Abfrage-Builder. Diese Methoden funktionieren nicht nur mit der Funktion paginate(), sondern auch mit anderen Abfrage-Builder-Funktionen. 🎜🎜Ich hoffe, dieser Artikel ist hilfreich für Sie! 🎜

Das obige ist der detaillierte Inhalt vonIn diesem Artikel wird erläutert, wie Sie benutzerdefinierte Attribute zu paginierten Ergebnissen in Laravel hinzufügen. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage
Über uns Haftungsausschluss Sitemap
Chinesische PHP-Website:Online-PHP-Schulung für das Gemeinwohl,Helfen Sie PHP-Lernenden, sich schnell weiterzuentwickeln!