Laravel 5框架学习之日期,Mutator 和 Scope,laravelmutator
Laravel 5框架学习之日期,Mutator 和 Scope,laravelmutator
在我们前面的解决方案中,直接给 published_at 赋值为当前日期实际上是一个临时解决方案,我们需要设定发布日期,可能是未来2天后才发布,让我们修改这个问题。
首先修改控制器:
public function store() { Article::create(Request::all()); return redirect('articles'); }
然后修改视图,添加发布日期字段
@extends('layout') @section('content') <h1 id="Write-a-New-Article">Write a New Article</h1> <hr/> {{--使用我们添加的 illuminate\html 开源库--}} {!! Form::open(['url' => 'articles']) !!} <div class="form-group"> {!! Form::label('title', 'Title:') !!} {!! Form::text('title', null, ['class' => 'form-control']) !!} </div> <div class="form-group"> {!! Form::label('body', 'Body:') !!} {!! Form::textarea('body', null, ['class' => 'form-control']) !!} </div> <div class="form-group"> {!! Form::label('published_at', 'Publish On:') !!} {!! Form::input('date', 'published_at', date('Y-m-d'), ['class' => 'form-control']) !!} </div> <div class="form-group"> {!! Form::submit('Add Article', ['class' => 'btn btn-primary form-control']) !!} </div> {!! Form::close() !!} @stop
ok,让我们添加一个新的文章,并且把日期设置为未来的某一天,但是文章直接显示在最开始了,这不是我们需要的。我们需要到了那天才显示出来。当然,我们需要更具体一点,比如在早上 8:00 显示,而不是0点显示。我们可以添加一个mutator(也就是其他语言的属性设置器),修改我们的model
<?php namespace App; use DateTime; use Illuminate\Database\Eloquent\Model; class Article extends Model { protected $fillable = [ 'title', 'body', 'published_at' ]; //属性设置其要遵守格式约定 // set属性Attribute public function setPublishedAtAttribute($date) { $this->attributes['published_at'] = Carbon::createFromFormat('Y-m-d', $date)->hour(8)->minute(0)->second(0); } }
添加一个新的纪录,查看数据库,我们已经将时间设置正确了,但是我们的首页仍然显示未来的才发布的文章,我们修改它。
public function index() { //$articles = Article::latest('published_at')->get(); $articles = Article::latest('published_at')->where('published_at', '<=', Carbon::now())->get(); return view('articles.index', compact('articles')); }
上面的解决方法可以工作,但是查询语句太长了。我们可以使用 Laravel 提供的 scope ,来简化我们的工作。所谓scope可以理解为是查询过程中使用的中间查询结果,比如我们定义一个published scope,他可以返回所有当前已经发布的文章,让我们修改模型。
//设置scope,遵守命名规则 public function scopePublished($query) { $query->where('published_at', '<=', Carbon::now()); }
修改控制器使用 scope
public function index() { //$articles = Article::latest('published_at')->get(); //$articles = Article::latest('published_at')->where('published_at', '<=', Carbon::now())->get(); $articles = Article::latest('published_at')->published()->get(); return view('articles.index', compact('articles')); }
结果相同,但在复杂的查询中我们可以使用scope来分解我们的任务,或者复用查询。
我们来增加一个新的查询,查询所有还没有发布的文章。在模型中添加scope
public function scopeUnpublished($query) { $query->where('published_at', '>', Carbon::now()); }
修改控制器使用unpulished
public function index() { //$articles = Article::latest('published_at')->get(); //$articles = Article::latest('published_at')->where('published_at', '<=', Carbon::now())->get(); //$articles = Article::latest('published_at')->published()->get(); $articles = Article::latest('published_at')->Unpublished()->get(); return view('articles.index', compact('articles')); }
one more thing! 如果我们在 show 方法中使用 dd($article->published_at) 查看的结果,与 dd($article->created_at); 结果不一样,前者我们使我们自己的字段,后者是在 CreateArticleTable 中通过 $table->timestamp() 自动生成的。自动生成的字段显示出来是 Carbon类型,而我们的是字符串。使用 Crabon类型有很多的好处,例如你可以输出 dd($article->created_at->diffForHumans()); ,这种 1 hour ago 结果,但我们的published_at 不可以。怎么修改?修改模型,告诉laravel,published_at 是日期即可。
protected $dates = ['published_at'];
再次使用 dd($article->published_at->diffForHumans()); ,结果显示为 3 days from now,Bingo!
以上所述就是本文的全部内容了,希望能够给大家学习Laravel5框架有所帮助。

Heiße KI -Werkzeuge

Undresser.AI Undress
KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover
Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool
Ausziehbilder kostenlos

Clothoff.io
KI-Kleiderentferner

AI Hentai Generator
Erstellen Sie kostenlos Ai Hentai.

Heißer Artikel

Heiße Werkzeuge

Notepad++7.3.1
Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version
Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1
Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6
Visuelle Webentwicklungstools

SublimeText3 Mac-Version
Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Heiße Themen



1. Öffnen Sie zunächst den mobilen Webbrowser, suchen Sie nach der Weibo-Webversion und klicken Sie nach der Eingabe auf die Avatar-Schaltfläche in der oberen linken Ecke. 2. Klicken Sie dann oben rechts auf Einstellungen. 3. Klicken Sie in den Einstellungen auf die Option zum Versionswechsel. 4. Wählen Sie dann im Versionsschalter die Option Farbversion aus. 5. Klicken Sie auf Suchen, um die Suchseite aufzurufen. 6. Klicken Sie nach der Eingabe der Schlüsselwörter auf „Personen suchen“. 7. Wenn die Suchabschlussoberfläche angezeigt wird, klicken Sie auf Filter. 8. Geben Sie abschließend das konkrete Datum in die Spalte „Veröffentlichungszeit“ ein und klicken Sie auf „Filter“.

1. Lassen Sie mich zunächst über die Methode sprechen, die ich am Anfang verwendet habe. Vielleicht verwendet sie auch jeder. Öffnen Sie zunächst [Ansicht]——]Bemerkungsvorlage[. 2. Ein Ort, an dem Sie das Datum nach dem Öffnen tatsächlich sehen können. 3. Wählen Sie es zuerst aus und löschen Sie es. 4. Klicken Sie nach dem Löschen auf [Masteransicht schließen]. 5. Öffnen Sie die Druckvorschau erneut und stellen Sie fest, dass das Datum noch vorhanden ist. 6. Tatsächlich wurde dieses Datum hier nicht gelöscht. Es sollte im [Handout Master] enthalten sein. Schauen Sie sich das Bild unten an. 7. Löschen Sie das Datum, nachdem Sie es gefunden haben. 8. Wenn Sie nun die Vorschau öffnen und einen Blick darauf werfen, ist das Datum nicht mehr vorhanden. Hinweis: Tatsächlich ist diese Methode auch sehr leicht zu merken, da es sich bei den gedruckten Handouts um Handouts handelt. Sie sollten daher nach dem [Handout Master] suchen.

Die Generierung von Zufallsdaten ist im Bereich der Datenwissenschaft sehr wichtig. Beim Erstellen neuronaler Netzwerkvorhersagen, Börsendaten usw. wird normalerweise das Datum als einer der Parameter verwendet. Für die statistische Analyse müssen wir möglicherweise Zufallszahlen zwischen zwei Daten generieren. In diesem Artikel wird gezeigt, wie man mit den Modulen „random“ und „datetime“ k zufällige Daten zwischen zwei bestimmten Daten generiert. Datetime ist Pythons integrierte Bibliothek für die Zeitverarbeitung. Andererseits hilft das Zufallsmodul bei der Generierung von Zufallszahlen. Wir können also Zufalls- und Datum/Uhrzeit-Module kombinieren, um ein zufälliges Datum zwischen zwei Daten zu generieren. Syntax random.randint (start, end, k) random bezieht sich hier auf die Python-Zufallsbibliothek. Die Randint-Methode verwendet drei wichtige

Bei der Durchführung einer Datenanalyse in Python ist es außerdem erforderlich, sie nach Datum zu gruppieren und zusammenzufassen, um beispielsweise das periodische Muster des Verkaufsvolumens zu ermitteln. Bevor Sie Python für Datenstatistiken verwenden, müssen Sie dann einen zusätzlichen Schritt hinzufügen: Ermitteln Sie den Wochentag aus dem angegebenen Datum. Beispielsweise ist der 22. Februar 2022 gleichzeitig auch der 22. Dienstag des ersten Mondmonats, sodass sich an diesem Tag besonders viele Menschen zur Ehe anmelden. In diesem Artikel wird der 22.02.2022 als Beispiel verwendet, um 6 Möglichkeiten zu demonstrieren, den „Wochentag“ für ein bestimmtes Datum in Python abzurufen! Das datetime-Modul „weekday()“ ist eine in Python integrierte Bibliothek, die keine Pip-Installation erfordert. Zusätzlich zur Anzeige von Datum und Uhrzeit kann es auch Datums- und Uhrzeitberechnungen und -formatierungen durchführen.

Standardmäßig wird in der oberen Leiste von Ubuntu 17.10 nur die aktuelle Uhrzeit und kein Datum angezeigt. Was muss ich tun, wenn ich das Datum anzeigen möchte? Werfen wir einen Blick auf das ausführliche Tutorial unten. 1. Öffnen Sie das Terminal im Launcher oder drücken Sie [Strg+Alt+T] 2. Geben Sie im Terminal Folgendes ein: sudoaptinstallgnome-tweak-tool 3. Öffnen Sie nach Abschluss der Installation das Tweak-Tool 4. Klicken Sie auf die obere Leiste 5. Datum ist Das Datum und die Sekunden sind die Anzahl der Sekunden 6. Nach der Einrichtung werden das Datum und die Sekunden auf der Uhrzeit in der oberen Leiste angezeigt.

So verwenden Sie die Zeit- und Datumsmodule in Python. Einführung: In der Programmierung ist der Umgang mit Zeit und Datum eine sehr häufige Aufgabe. Python bietet leistungsstarke Zeit- und Datumsmodule, die Zeit- und Datumsoperationen einfacher und bequemer machen. In diesem Artikel werden die Zeit- und Datumsmodule in Python vorgestellt und spezifische Codebeispiele bereitgestellt, um den Lesern zu helfen, sie besser zu verstehen und anzuwenden. 1. Einführung in das Zeit- und Datumsmodul Das in Python integrierte Zeit- und Datumsmodul ist das Datum/Uhrzeit-Modul. Wir müssen dieses Modul zuerst vorstellen.

Excel-Software verfügt häufig über sehr leistungsstarke Datenverarbeitungsfunktionen. Wenn wir ein Datum in eine Excel-Zelle eingeben, ändert sich das Datum in Excel. Wie können wir die Daten normal anzeigen? Schauen wir uns die Lösung unten an. 1. Zuerst setzen wir die Maus auf die Spaltenbreitenlinie zwischen den Spalten AB, doppelklicken und passen die Spaltenbreite an, wie in der Abbildung unten gezeigt. 2. Nachdem die Spalte erweitert wurde, stellen wir fest, dass in den Zellen Zahlen anstelle von Datumsangaben angezeigt werden. Dies ist definitiv falsch. Dann sollten wir das Format der Zellen überprüfen, wie in der Abbildung unten gezeigt. 3. Klicken Sie auf der Registerkarte „Home“ auf die Option „Nummer“ und dann im Dropdown-Menü auf „Anderes Zahlenformat“, wie in der Abbildung unten dargestellt.

PHP-Datenfilterung: Übersicht über die Verarbeitung von Datums- und Uhrzeiteingaben: Bei der Entwicklung von Webanwendungen ist es häufig erforderlich, vom Benutzer eingegebene Datums- und Uhrzeitdaten zu verarbeiten. Da Benutzereingaben verschiedene Formate und Fehler enthalten können, sind eine effektive Datenfilterung und -validierung erforderlich, um die Datengenauigkeit und -sicherheit zu gewährleisten. In diesem Artikel wird erläutert, wie PHP zur Verarbeitung von Datums- und Uhrzeiteingaben verwendet wird, und es werden entsprechende Codebeispiele bereitgestellt. Filter- und Validierungsprinzipien: Bevor Sie Datums- und Zeiteingaben verarbeiten, müssen Sie zunächst die entsprechenden Filter- und Validierungsprinzipien festlegen. Hier sind einige häufige Beispiele
