我想有一个章节模型,包含一个地区列包含多个地区模型。但我不知道如何链接它。我只是做了模型和迁移。
class Chapter extends Model
{
/**
* The attributes that are mass assignable.
*
* @var array
*/
protected $fillable = [
'name',
];
public function districts()
{
return $this->hasMany(District::class);
}
}
class District extends Model
{
/**
* The attributes that are mass assignable.
*
* @var array
*/
protected $fillable = [
'name',
];
public function chapter()
{
return $this->belongsTo(Chapter::class);
}
public function blocks()
{
return $this->hasMany(Block::class);
}
}
在此之后我应该做什么?我需要在章节迁移文件中提到地区吗?
这是我的迁移文件。
一个二个一个一个
我需要在$fillable端链接它们吗?
1条答案
按热度按时间68bkxrlz1#
您需要使用数据结构链接它们,以便Laravel Eloquent Relation可以利用这一点。
首先,确保您的数据库结构具有相关属性,例如,您的迁移应该看起来与此类似
districts
表中的chapter_id
列充当外键约束,并连接特定章节下的所有地区。在
Chapter
类中,您需要定义如下关系(您已经完成了):然后,您可以通过调用
districts()
方法检索给定章节的所有地区。例如,要获取chapter Id = 1
的所有地区,您可以执行以下操作: