Laravel 5.6 – Modellfunktionen in ModelFactory verwendenPhp

PHP-Programmierer chatten hier
Anonymous
 Laravel 5.6 – Modellfunktionen in ModelFactory verwenden

Post by Anonymous »

Ich arbeite mit Laravel 5.6 und habe beim Erweitern der Funktionalität meines Projekts ein seltsames Problem festgestellt.

Im Moment muss ich zwei neue erstellen Modelle: Bestellung und Artikel. Mit Faker und Laravel Factories/Seeders war es recht einfach, die Artikeltabelle mit Dummy-Daten zu füllen. Das größte Problem besteht bei der Arbeit mit dem Auftragsmodell.

Dieser kleine Kerl ist mit einer Firma mit einem Fremdschlüssel namens „company_id“ verknüpft und user mit einem Fremdschlüssel namens seller_id. Das Firmenfeld ist in Ordnung, das Problem liegt hinter meiner Verkäufer-ID.

Dieser Verkäufer benötigt eine Rolle, die sich auf die Firma bezieht, die meine Fabrik zufällig auswählen wird Dies liegt daran, dass der Benutzer nicht (direkt) mit der Firma in Verbindung steht und ich nicht einfach mit einer Firmen-ID danach suchen kann.

Um alles zu bekommen Da die Benutzer mit meinem Unternehmen einen „Bezug“ haben, habe ich die nächste Funktion für mein Unternehmen erstellt Modell:

public function users()
{
$roles = $this->roles;
$users = [];
foreach ($roles as $role) {
foreach ($role->users as $user) {
$user->makeHidden(['pivot']);
array_push($users, $user);
}
}

$users = array_unique_objects($users);
return $users;
}


Übrigens: Ich verwende laravel-permissions, eine Bibliothek von Spatie.

Diese Funktion ruft jede Rolle von einem Unternehmen ab und überträgt sie dann an ein Array von Benutzern.

Dieser benutzerdefinierte Helfer: array_unique_objects verfolgt jeden wiederkehrenden Benutzer auf meinem Array und entfernt ihn Sie.

Diese Funktion funktioniert, weil ich sie auf einigen Controllern getestet habe, also weiß ich, dass es kein Problem damit gibt. So oder so sieht meine OrderFactory.php so aus:

Quick Reply

Change Text Case: 
   
  • Similar Topics
    Replies
    Views
    Last post