Ich habe 3 Modelle in meiner App Benutzer, Umsatz und Pläne, wenn ich Umsatz für jeden Kunden rendern (aufgrund der Speicherung) Ich bekomme nur IDs für andere Benutzer und Modelle Im Zusammenhang mit diesem Verkauf (wie Account Manager, Besitzer, Plan), jetzt versuche ich, diese IDs innerhalb Blade zu verwenden, um Namen oder andere Zeilen basierend auf ID und Modell zu erhalten. Hier ist die Show-Funktion:Wie sicher auf andere Benutzer und andere Modell-Datensätze innerhalb Blade-Vorlage zugreifen
public function show($id) {
$user = User::find($id);
$sales = Sale::where('customer_id', '=', $id)->get();
return view('profiles.customer', ['user' => $user, 'sales' => $sales]);
}
Und Klinge ich alle diese Verkäufe wie:
@foreach ($sales as $sale)
<li>
<i class="fa fa-home bg-blue"></i>
<div class="timeline-item">
<span class="time"><i class="fa fa-clock-o"></i> {{$sale->created_at->format('g:ia, M jS Y')}}</span>
<h3 class="timeline-header"><a href="#">{{$user->name}}</a> became a customer</h3>
<div class="timeline-body">
<p>Date: {{$sale->sold_date}}</p>
<p>Price: {{$sale->sale_price}}</p>
</div>
</div>
</li>
@endforeach
Also in jeder Platte, die ich wie "account_manager_id" haben "agent_id", "owner_id", " plan_id ".
Zur Zeit habe ich dieses Problem gelöst durch öffentliche statische Funktion hinzugefügt (dies für den Anwender ist, haben die gleiche Funktion für Plan-Modell als auch) in Sale Modellklasse:
public static function getUser($id) {
return User::where('id', $id)->first();
}
Und ich verwende es so in Blade:
Account manager: {{$sale->getUser($sale->account_mgr_id)->name}}
Ist dies der sicherste und beste Weg, es zu tun? Oder gibt es etwas, das ich hier übersehen habe?
Wie haben Sie die Beziehung im Verkaufsmodell verwaltet? –
Nun, das ist vielleicht ein Problem, ich habe keine Beziehungen eingerichtet, wusste nicht ganz, wie man es bekommt, da jeder Verkaufsmodell Datensatz hat 5 verschiedene Benutzer und eine Plan-Modell-ID ... – Dino