我使用Laravel構建了一個應用程序,它對我而言是新的,並且卡住了模型定義。
我有兩個表USERS和ACTIONS。
1)用戶可以創建一個「動作」或許多動作。
2)用戶也可以是由另一個用戶創建的操作的成員。
Laravel中的同一張表的兩個關係5.3
所以,如果我沒有錯,第一個關係是一對多的關係(用戶可以創建許多行動,一個動作只能由一個用戶創建) ,第二個是多對多(很多用戶可以有很多行動的成員)
我不知道laravel允許這樣做,也許我失去了一些東西
感謝大家
我使用Laravel構建了一個應用程序,它對我而言是新的,並且卡住了模型定義。
我有兩個表USERS和ACTIONS。
1)用戶可以創建一個「動作」或許多動作。
2)用戶也可以是由另一個用戶創建的操作的成員。
Laravel中的同一張表的兩個關係5.3
所以,如果我沒有錯,第一個關係是一對多的關係(用戶可以創建許多行動,一個動作只能由一個用戶創建) ,第二個是多對多(很多用戶可以有很多行動的成員)
我不知道laravel允許這樣做,也許我失去了一些東西
感謝大家
很可能有多個關係在同一張桌子之間。
以下關係定義應爲你工作:
class User extends Model {
public function actions_created() {
return $this->hasMany(Action::class, 'creator_id');
}
public function actions() {
return $this->belongsToMany(Action::class);
}
}
class Action extends Model {
public function creator() {
return $this->belongsTo(User::class);
}
public function users() {
return $this->belongsToMany(User::class);
}
}
請確保您有action_user表的地方來存儲用戶和行動之間的許多一對多的關係。它應該有3列:id,user_id和action_id。
是的,你可以做到這一點[雄辯的關係(https://laravel.com/docs/5.3/eloquent-relationships#defining-relationships) – Garric15