0
私は以下の表を含む複雑な設定をしています。Laravel Eloquent multiple tables
Customers
Transactions
Jobs
Rounds
Job_Rounds
延滞しているすべての顧客を出力したいと思います。
$data = Auth::user()->clients()->leftjoin('transactions','clients.id','=','transactions.client_id')
->select(DB::raw('sum(gross) as value, email, first_name, last_name, mobile, clients.id, addressline1'))
->groupBy('id','first_name','last_name','email','mobile','addressline1', 'clients.id')
->havingRaw('SUM(gross) < 0')
->get();
しかし、私は今のラウンドで延滞顧客をフィルタリングできるようにしたい、偉大である延滞しているすべての顧客を返すこと:私は、次のクエリを使用していることをやりました。私は私のコントローラに与えられたラウンドのround_idを通過した後、round_idに基づいて結果をフィルタリングするためにしようと
Customers > Jobs.client_id
Customers > Transactions.client_id
Jobs > Rounds via Jobs_Rounds
次のように
私の関係があります。ラウンドIDを格納している唯一の場所はjobs_roundsテーブルにあり、そのテーブルにはjob_id & round_idしか含まれていません。
おかげでサイモンを、私はこれを試してみたが、私は...とき、私の問題を持っているように見えますreturn Client :: First() - >ラウンドクライアントがラウンドするのを見たが、エラーが出る:列が見つからない:1054不明な列 'rounds.job_id' - ラウンドとクライアントの間のリンクがスルー.. Jobクライアントにリンクされているジョブは、job_rounds経由でラウンドにリンクされています –
ジョブは多数のrしたがって、job_roundsテーブル:/ –
あなたの 'rounds'テーブルに' job_id'がないようです – SimonDepelchin