雄辩的关系hasManyThrough /有很多

时间:2019-05-13 12:48:13

标签: php laravel eloquent

我只想雄辩地进行“简单”查询。

好的,我有3个模型。 (UserProjectTimeEntries)。

用户可以从事许多项目。他可以进行一些时间输入,时间输入属于一个项目。

因此,问题是:我有一个用户ID数组。我想做一个雄辩的查询,其中包含一个User模型集合,在这个集合中,我希望他参与的所有项目以及小时总数(time_entries表中“ hours”列的总和)

User.php

public function projects()
{
    return $this->belongsToMany('App\Model\Project', 'time_entries');
}

public function time_entries()
{
    return $this->hasMany('App\Model\TimeEntries');
}

Project.php

public function timeEntries()
{
    return $this->hasMany('App\Model\TimeEntries');
}

public function users()
{
    return $this->belongsToMany(User::class, 'time_entries');
}

TimeEntries.php

public function user() 
{
    return $this->belongsTo( 'App\Model\User' );
}

public function project() 
{
    return $this->belongsTo( 'App\Model\Project','project_id' );
}

我已经做到了,但是没有用,我收集了一些User的作品集,其中有他参与过的项目,但不是小时数。 (whereBetween只是我想要此间隔中的所有时间条目。)

$t = User::with(['projects', 'time_entries' => function ($query) use ($request) {
    $query->whereBetween('spent_on', [($request->input('debut')), ($request->input('fin'))]);
}])->find($array_of_id);

0 个答案:

没有答案