我使用laravel 5.4,我希望从关系表中接收信息。
我在phpmyadmin中有3个表
运动员
类型
ATHLETES_TYPES
我有3个模特
运动
TYPE
ATHLETEBYTYPE
我如何让关系模型从表格TYPES中获取名称和slug,以及我的桌上运动员的身份?
谢谢。
答案 0 :(得分:0)
为此,您只需要2个模型文件ATHLETE
和TYPE
并使用多对多关系。然后您可以使用ATHLETES_TYPES
表作为数据透视表。
实现这个:
首先将此方法添加到ATHLETE
模型文件中:
public function types()
{
return $this->belongsToMany(TYPE::class,'ATHLETES_TYPES','ATHLETE_ID','TYPE_ID');
}
secode将此方法添加到TYPE
模型:
public function athletes()
{
return $this->belongsToMany(ATHLETE::class,'ATHLETES_TYPES','TYPE_ID','ATHLETE_ID');
}
并最后从ID
表格中删除ATHLETES_TYPES
。
进行。
现在,如果您的ATHLETE
类型的变量带有$ATHLETE->types
,则可以获得类型的变量。
在这里阅读更多内容: https://laravel.com/docs/5.4/eloquent-relationships#many-to-many
答案 1 :(得分:0)
以下是关系,伙伴
在App / Athlete.php中
class Athlete extends Model
{
public function types(){
return $this->belongsToMany('App\Type');
}
}
在App / Type.php中
class Type extends Model
{
public function Athletes(){
return $this->belongsToMany('App\Athlete');
}
}