Warum fragt Laravel nach einem Pivot-Tisch als Singular, in meinem Code? Wie repariere ich es so, dass es als Plural heißt?Laravel Pivot-Tisch nicht Plural
Datenbanktabellen
- Benutzer (id, etc)
- Kampagnen (id, etc)
- campaign_users (user_id, campaign_id)
-Code
Meine Kampagne Modell und campaign_user-Modell sind ziemlich leer und werden vom Handwerker generiert. Aber hier sind meine Benutzer Bezug auf Kampagnen, in User-Modell:
public function playing_campaigns()
{
return $this->belongsToMany('Sagohamnen\campaign\campaign');
}
Here I DB aufrufen, um die Kampagnen zu erhalten, in denen der Benutzer gehören:
$user = user::with(['playing_campaigns'])->where('id', $id)->get();
SQL-Fehler
SQLSTATE [42S02]: Basistabelle oder View nicht gefunden: 1146 Tabelle 'sagohamnen.campaign_user' existiert nicht (SQL:
campaigns
. *,campaign_user
.user_id
alspivot_user_id
,campaign_user
.campaign_id
alspivot_campaign_id
voncampaigns
innere Verbindungcampaign_user
aufcampaigns
.id
=campaign_user
.campaign_id
wocampaign_user
.user_id
in (1))
überprüfen Sie auch die Dokumentation hier für andere Parameter, die Sie übergeben können [Viele-zu-viele Dokumentation] (https://laravel.com/docs/5.2/eloquent-relationships#many-to-many) – Carlos
Vielen Dank für die Beantwortung. Wenn man das Dokumentationsrecht versteht, sollte man kein zweites Argument hinzufügen müssen, wenn die Tabellen nach der Laravel-Konvention benannt sind. "Eloquent wird die beiden verwandten Modellnamen in alphabetischer Reihenfolge verbinden". Hm, obwohl ich das zweite Argument hinzugefügt habe, um zu sehen, ob sich etwas geändert hat. Das Ergebnis war ein leeres Array, hm. – Olof84
Es ist in alphabetischer Reihenfolge und Singular, so dass Ihre Tabelle "campaign_user" sein sollte. Wenn ein leeres Array zurückgegeben wird, stellen Sie sicher, dass die Daten für die von Ihnen verwendete Benutzer-ID eingefügt wurden. Es hilft auch, das allgemeine Protokoll Ihrer DB zu aktivieren und die ausgeführten Abfragen zu überwachen und sicherzustellen, dass sie sinnvoll sind. – user3158900