laravel:Wie bekomme ich den Spaltennamen des eloquenten Modells? [duplicate]
Lesezeit: 2 Minuten
Jatin Parmar
Ich verwende Laravel 5.2, ich möchte den Namen aller Spalten (Attribute) des ausgewählten eloquenten Modells erhalten. Gibt es eine Möglichkeit, dies zu tun?
Folgendes ist mein Code in der Controller-Methode
if($request->method=="edit")
{
/*we are in edit mode details of given news ID should be attached*/
$curNews=News::find($request->newsID);
if($curNews==null)return back()->withErrors(["Unable to Edit News:No Data Found For Given News ID"]);
foreach((array)$curNews->attributes as $key=>$val)
{
$data[$key]=$val;
}
}
return view('adminarea.news.news-addedit',$data);
Bitte zeigen Sie einen Code an
– AddWeb Solution Pvt Ltd
22. August 2017 um 12:52 Uhr
an @aynber, ich möchte nur den Spaltennamen als Array
– Jatin Parmar
22. August 2017 um 12:56 Uhr
@joy, es sind die Grundlagen von PHP, Sie haben bereits ein Objekt, das hat fieldName = 'some data'also ist es keine Laravel-Frage – es geht nur um die Grundlagen von PHP (wie man Attribute von Objekten erhält), Entschuldigung, ich werde Ihre Frage ablehnen
– Zahl8er
22. August 2017 um 13:01 Uhr
@num8er, du hast Recht, aber es ist eine Plattform zum Lernen
– Jatin Parmar
22. August 2017 um 13:02 Uhr
$columns = Schema::getColumnListing('users'); // users table
dd($columns); // dump the result and die
Schema oben importieren – verwenden Sie Illuminate\Support\Facades\Schema;
– Sanjay Mundhra
27. April 2020 um 5:50 Uhr
So erhalten Sie Spaltennamen aus der Tabelle, nicht aus dem Modell – was in Frage gestellt wurde. Wenn Modelltabellen dynamisch sind und sich ändern können, ist dies keine gute Lösung.
– Kristaps J.
20. August 2020 um 8:09 Uhr
Funktioniert nicht in 7.x
– J.Robinson
3. Dezember 2020 um 17:52 Uhr
Aus irgendeinem seltsamen Grund begann es mit der automatischen Sortierung von Schlüsseln in alphabetischer Reihenfolge. \array_keys( $model->getAttributes() ) funktioniert bei mir
– Sumit Wadhwa
21. Dezember 2020 um 6:40 Uhr
Für neuere Laravel-Versionen (in meinem Fall 5.8) verwenden Sie einfach: use Schema; Der Pfad mit Illuminate\Support\ etc. funktioniert nicht.
– Römisch
10. Februar 2021 um 10:45 Uhr
Wenn Sie die Namen Ihrer Attribute erhalten möchten, können Sie dies versuchen
Wenn es sich um eine Sammlung handelt, verwenden Sie $items->first()->getAttributes()
– Namal
22. Juni 2020 um 7:21 Uhr
Dies ist ein besserer Weg als die Verwendung von Schema.
– Yan Zhao
27. Juni 2021 um 14:13 Uhr
Ich weiß nicht, ob ich Recht habe oder nicht, aber ich habe den folgenden Code überwunden, und es funktioniert für mich.
if($request->method=="edit")
{
/*we are in edit mode details of given news ID should be attached*/
$curNews=News::find($request->newsID);
if($curNews==null)return back()->withErrors(["Unable to Edit News:No Data Found For Given News ID"]);
foreach($curNews->toArray() as $key=>$val)
{
$data[$key]=$val;
}
}
return view('adminarea.news.news-addedit',$data);
14060700cookie-checklaravel:Wie bekomme ich den Spaltennamen des eloquenten Modells? [duplicate]yes
Bitte zeigen Sie einen Code an
– AddWeb Solution Pvt Ltd
22. August 2017 um 12:52 Uhr
an @aynber, ich möchte nur den Spaltennamen als Array
– Jatin Parmar
22. August 2017 um 12:56 Uhr
@joy, es sind die Grundlagen von PHP, Sie haben bereits ein Objekt, das hat
fieldName = 'some data'
also ist es keine Laravel-Frage – es geht nur um die Grundlagen von PHP (wie man Attribute von Objekten erhält), Entschuldigung, ich werde Ihre Frage ablehnen– Zahl8er
22. August 2017 um 13:01 Uhr
@num8er, du hast Recht, aber es ist eine Plattform zum Lernen
– Jatin Parmar
22. August 2017 um 13:02 Uhr