我正在使用Web应用程序,我在使用中间表时遇到问题,这些是我在mysql中的表:
用户:
练习:
User_Exercise:
所以,我想要做的是,当我创建一个练习时,为每个用户创建一行,并使用之前创建的exercise-id。之后用户可以在此练习中更改他的记录。
我曾想过创建一个模型来处理user_exercise的表,但我不知道是否有更好的方法可以做到这一点。
那么,如果不创建新模型,有一些方法可以做到这一点吗?
PD:抱歉我的英语很糟糕答案 0 :(得分:0)
您不需要User_Exercise
您可以使用基本模型中的$this->belongsToMany
,即User
Note :
对于插入过程,您可以通过
获取父ID $insertUser = User::create($userData);
然后
$insertUser->id
用于获取最后一个插入ID
然后根据User_Exercise
进行检索,您将使用$this->belongsToMany
模型中的User
示例强>
在User
模型
public function getUser() {
return $this->belongsToMany('App\User', 'excercise_name', 'user_id', 'excercise_id')->select(array('exercise.id', 'excercise.name'));
}
从任何控制器中获取所需的数据
$userData = User::find($userId)->getUser;