[英]laravel - 3 steps relation by many to many
我有3个表格:用户,教师和帖子。
用户 :
id-整数
名称-字符串老师 :
id-整数
Teacher_id-整数
user_id-整数
名称-字符串帖子 :
id-整数
user_id-整数
标题-字符串
用户模型:
class User extends Model
{
public function teachers()
{
return $this->hasMany('App\Teacher');
}
}
教师模式:
class Teacher extends Model
{
public function posts()
{
return $this->hasMany('App\Post', 'user_id','teacher_id');
}
}
? 问题是我该如何使用……
$user = User::find(1);
$teacher_posts = $user->teachers()->posts
我是laravel的新手,但这是我的看法。
我已经意识到,通常您的多对多关系将需要一个透视表。
用户 :(id,名称)
教师 :(id,teacher_id,姓名)
教师用户 :(id,user_id,teacher_id)
帖子 :(id,user_id,title)
而且您的口才模型将如下所示。
class User extends Model
{
public function teachers()
{
return $this->belongsToMany('App\Teacher');
}
public function posts()
{
return $this->hasMany('App\Post');
}
}
class Teacher extends Model
{
public function users()
{
return $this->belongsToMany('App\User');
}
}
$user = User::find(1);
$user_posts = $user->posts();
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.