我有 3 张 table 。
人员、任务和项目
each person in People table can be assigned to one or more Projects. Each project in Projects table can have one ore more person assigned to it.
以下是每个表的列:
人物
- ID
- 姓名
作业:
- person_id
- project_id
项目
- ID
- 标题
我的问题是:在我的项目模型中,如何定义关系?
我想要的是能够获取分配给特定项目的所有人员的姓名。
我需要:
$project->assignedPeople
所以我可以:
foreach($projects as $project)
$project->title
foreach(projects->assignedPeople as $person)
$person->name
我需要你的帮助 谢谢!
最佳答案
实际上你需要多对多关系。
您可以像这样定义模型
项目模型
class Project extends Model {
public function peoples()
{
return $this->belongsToMany('App\People');
}
}
还有
人物模型
class People extends Model {
public function projects()
{
return $this->belongsToMany('App\Project');
}
}
现在您可以像这样访问分配给特定项目的所有人员的姓名。
$project->peoples
你可以像这样运行你的 foreach 循环
foreach($projects as $project) {
echo $project->title;
foreach(project->peoples as $person) {
echo $person->name;
}
}
希望它能解决您的问题。
谢谢
关于php - Laravel:如何在具有引用表的两个表之间建立关系,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36762802/