In meiner App admin users
kann articles
erstellen. Artikel Tisch ist: ID | user_id | title ...
Laravel 5.1 erhalten Daten von verbundenen Tabelle
Für jeden Article
andere Benutzer (die Server-Betreiber nicht) eine offer
und Angebots Tabelle schreiben kann, ist: ID | user_id(not admin) | article_id | price ...
Jetzt muss ich get all users
für eine Admin Benutzer die Post-Angebot zu ihre Artikel ... ich versuche:
public function userbase()
{
$id = Auth::user()->id;//get admin id
$articles = Article::where('user_id', $id)->get();//select all admin articles
foreach ($articles as $article) {
$users = Offer::where('article_id', $article['id'])->orderBy('created_at', 'desc')->get(); //get all admin users
}
return $users;
}
aber bekomme ich nur []
auch mein Modell ist: Artikel:
public function offers() {
return $this->hasMany('App\Offer');
}
Angebot:
public function user() {
return $this->belongsTo('App\User');
}
public function article() {
return $this->belongsTo('App\Article');
}
So wie ich alle Benutzerdaten bekommen, das Angebot zu einem Admin-Benutzer geschrieben wurde?
UPDATE
Ich versuche auch diese:
$articles = Article::with([
'offers' => function($query) {
$query->orderBy('created_at', 'desc');
$query->with('user'); // if you want to eager load users for each offer too...
}
])->where('user_id', Auth::id())->get();
und ich bekomme diese Daten: http://i.imgur.com/0kBVGrx.png
aber wie user
Daten zugreifen? Ich versuche ->get('user')
aber nicht funktionieren ...
2. UPDATE:
Ich versuche auch:
public function userbase()
{
$articles = Auth::user()->articles()->get();
foreach ($articles as $article) {
$offers = Offer::where('article_id', $article['id'])->orderBy('created_at', 'desc')->get();
}
foreach ($offers as $offer) {
$users = User::where('id', $offer['user_id'])->orderBy('created_at', 'desc')->get();
}
return $users;
}
aber ich bekomme nicht definierte Variable Benutzer
sieht aus wie ein schlechtes Datenbank-Design, können Sie 'article_has_offers' Pivot-Tabelle erstellen und zu handhaben es auf diese Weise, anstatt die Abfrage, ob der Benutzer admin oder not.Auch sollten Sie den Fremdschlüssel in Relationen definieren. – Gntem
Ich aktualisiere Frage – Andrew