これは説明するのは難しい問題ですが、最善を尽くします。私は今...日付範囲外のタスクを取得するか、日付範囲外のタスクを取得する
を日付範囲内のユーザに割り当てられている(特定のチームから)すべてのタスクをつかむための方法を持っているの下には、(部分的に)必要として は、それが働いている:
- をauth'dユーザーに割り当てられている
- 現在のチームからのタスクが
は...
-
作業が必要なさい
- タスクの開始日は、日付範囲内に収まって
- タスク期日は、日付範囲
内にあるしかし、私はまた、開始日が、BEFORE日付範囲AND/ORによる可能性が作業を必要とします日付はの後にの期間です。
これは素晴らしいです。しかし、それはまた、他のチームからタスクを取得しています。たとえば、チーム2に切り替えると、というユーザーにが割り当てられているチーム1のタスクも表示されます(表示されない場合)。
私はそれが私のwhere
節と関係があると仮定しています。それは複雑な獣です。誰かが助けてくれると願っています。
方法:
$tasks = Team::currentTeam()
->tasks()
->assignedToUser()
->where([
['status', '!=', 'completed'],
['due_date', '<=', $start_date],
['start_date', '<>', $start_date],
['start_date', '<', $end_date],
])
->orWhere([
['due_date', '>', $start_date]
])
->get();
現在のチームスコープ:ユーザスコープに割り当てられ
public function scopeCurrentTeam($query)
{
$current_team = Auth::user()->current_team_id;
return $query->find($current_team);
}
: - 、上の私の思考キャップを置く書い
public function scopeAssignedToUser($query)
{
return $query->with('user', 'comments')->whereHas('user', function($query) {
$query->where('user_id', Auth::user()->id);
})->orHas('user', '=', 0);
}
我々は 'scopeTasks' – Ohgodwhy
が、それはしますreturn $ this-' ...関係だ見ることができます> hasManyの(タスク::クラス); '' –
assignedToUser'は、hasManyの関係を気にしません。どのようにタスクがユーザーに関連しているかを私に見せてもらえますか? – Ohgodwhy