[英]Laravel Many to Many returns empty collection
我想在Laravel中建立兩個彼此關聯的模型。 一個行程可以有多個用戶,一個用戶可以進行多個行程。 這樣建立模型。
class Trip extends Model {
public function users() {
return $this->belongsToMany('App\User', 'trip_user', 'user_id', 'trip_id');
}
}
class User extends Model {
public function trips() {
return $this->belongsToMany('App\Trip', 'trip_user', 'trip_id', 'user_id');
}
}
數據透視表稱為“ trip_user”,其中包含用戶和旅程的ID。
當我嘗試旅行時,用戶通過
$oTrip->users()
我得到屬於許多關系
BelongsToMany {#267 ▼
#table: "trip_user"
#foreignPivotKey: "user_id"
#relatedPivotKey: "trip_id"
#parentKey: "id"
#relatedKey: "id"
#relationName: "users"
#pivotColumns: []
#pivotWheres: []
#pivotWhereIns: []
#pivotValues: []
+withTimestamps: false
#pivotCreatedAt: null
#pivotUpdatedAt: null
#using: null
#accessor: "pivot"
#query: Builder {#266 ▶}
#parent: Trip {#259 ▶}
#related: User {#264 ▶}
-currentlyAttached: null
}
當我做
$oTrip->users
我得到一個空的收藏。 我可以確認表中確實存在帶有正確旅程ID和某些用戶ID的條目。
有什么事嗎
從Laravel文檔中:
第三個參數是您要在其上定義關系的模型的外鍵名稱,而第四個參數是您要加入的模型的外鍵名稱。
我相信您已將其切換。 嘗試在多對多關系中將trip_id與user_id交換
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.