我想在 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 的条目。可能有什么问题?
1 回答
慕仙森
TA贡献1827条经验 获得超8个赞
来自 Laravel 文档:
第三个参数是您在其上定义关系的模型的外键名称,而第四个参数是您要加入的模型的外键名称
我相信你已经把它们换了。尝试在多对多关系中将 trip_id 与 user_id 交换
- 1 回答
- 0 关注
- 137 浏览
添加回答
举报
0/150
提交
取消