PHP Laravel / Laravel Admin Panel

PEASANT KING

Commander
Registriert
Okt. 2008
Beiträge
2.397
Moin moin,

ich habe mich mal ein wenig mit Laravel beschäftigt und auch flott eine Anwendung aufgestellt, da Laravel einem viel Arbeit abnimmt und es einem leicht macht, dennoch bin ich noch ein Noob was Laravel angeht.

Ich nutze in meiner Anwendung das Laravel Admin Panel von Hier nun habe ich einen Controller anlegen lassen ein Model und die dazugehörige Tabelle mittels Laravel migrations.

Ich kann auch Daten in die Tabelle mittels dem Backend speichern. Ich würde wenn ich User X bin nur die Einträge aus der Tabelle anzeigen lassen die von User X sind.

Ich weiß das ich auf die aktuelle ID des angemeldeten Benutzers mittels
Code:
Admin::user()->id
komme, nur weiß ich nicht wie ich darauf abfragen soll und vor allem wo ich das tun soll. Soll es im Model geschehen? Oder im Controller? Fragen über fragen^^
 
Hm, das ist nicht schnell zu beantworten, Deine Fragestellung ist nahe an einer Metafrage.
Ohne Laravel zu kennen weiß ich immerhin, dass Laravel - wie viele php Frameworks - einen Model-View-Controller Ansatz verfolgt.
Im (Datenbank)Model werden Modelklassen erstellt, für Deine Fragestellung also zB die Userklasse.
Dort würdest Du dann zB eine Funktion schreiben, die Dir einen bestimmten User aus der Usertabelle nach bestimmten Kriterien heraussucht - (Pseudocode):

PHP:
function get_user_by_username($username)
	{
		$this->db->where('LOWER(username)=', strtolower($username));

		$query = $this->db->get($this->table_name);
		if ($query->num_rows() == 1) return $query->row();
		return NULL;
	}

Der Controller ist die Verbindung zwischen den Datenbankmodellen und der Ausgabe (View) - in diesem Beispiel würde er die Datenbank nach dem Usernamen abfragen und sie an den View weiterleiten, zB (PSeudocode)

PHP:
$pageData['userName'] = $this->modell_class->get_user_by_username($username);
$this->load->view('viewname', $pageData);

Und zum Schluß landet das Array mit den Variablen aus dem Controller im View, in dem Du dann per HTML und php die Ausgabe gestaltest:

HTML:
<tr>
		<th class="ui-state-default ui-corner-left">Username</th>
		<td class="ui-state-default ui-corner-right"><?=$pageData['userName']?></td>
	</tr>

Nachschlagewerke über MVC und natürlich auch Laravel findest Du per Google.
 
Danke für die Antworten, ich habe das Ganze viel einfacher gelöst.

Mit Laravel-Admin hat man die Möglichkeit ganz einfach im Controller mittels
Code:
$grid->model()->where('user_id','=', Admin::User()->id);
heran zu kommen.
 
Ich verstehe die Frage nicht ganz. Einer Benutzer-ID einer Entität musst du im Model definieren und im Controller verwendest du sie dann auch bei den Abfragen. Je nachdem, was du für Datensätze haben möchtest.

Guck dir mal Laracast an. Eines der besten Tutorials für Laravel meiner Meinung nach. Kostenlos und von jemandem, der wirklich Ahnung von dem Framework und allgemein von PHP hat. Die PHP-Practitioner Serien auf der Seite ist auch zu empfehlen für PHP.
 
Zurück
Oben