时间条目属于任务 任务属于项目 因此每个表都包含其父表对应 ID 的列。 我有一系列项目 ID,-6ren">
gpt4 book ai didi

php - 在 Laravel Eloquent 中,从父表中选择 "whereIn"

转载 作者:行者123 更新时间:2023-11-29 12:06:54 26 4
gpt4 key购买 nike

在我的 Laravel 项目(使用 MySQL 数据库)中,我有几个模型:时间条目任务项目。 p>

时间条目属于任务

任务属于项目

因此每个表都包含其父表对应 ID 的列。

我有一系列项目 ID,并且我正在尝试通过其任务选择属于这些项目的时间条目项目。

换句话说,我希望能够做这样的事情:

$timeEntries = TimeEntry::whereIn('project_id',$projectIds)->get();

但显然,我收到了未找到列的错误,因为我在时间条目表中得到的只是task_id而不是project_id>.

有没有办法在单个 Eloquent 查询中选择所需的时间条目(基于我拥有的项目 ID)?非常感谢您的帮助。

最佳答案

在您的项目模型中添加以下方法

public function timeEntries()
{
return $this->hasManyThrough('App\TimeEntry' , 'App\Task');
}

现在您可以获取项目的所有时间条目,如下所示

$project = Project::find(id);
$project->timeEntries()->get();

关于php - 在 Laravel Eloquent 中,从父表中选择 "whereIn",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31323832/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com