2017-06-29 31 views
1

如何處理這種情況? 在laravel這是直截了當laravel-eloquent其中子句來自關係表兩級深

$contracts = Contracts::with('bidinvitations')->with('bidinvitations.planentries)->where('created_at','2017-02-1')->get(); 

此工程的前提是,在一側的where子句列(例如created_at)必須來自父表(合同)。

如何從另一個表查詢如對where子句

$contracts = Contracts::with('bidinvitations')->with('bidinvitations.planentries)->where('bidinvitations.planentries.created_at','2017-02-1')->get(); 

這個查詢: where(**'bidinvitations.planentries.created_at'**,'2017-02-1')

只是不工作

回答

1

你可以做這樣的事情

$createdAt = '2017-02-1'; 
$contracts = Contracts::with(['bidinvitations' => function($bidinvitations_query) use($createdAt) { 
           $bidinvitations_query->with(['planentries' => 
            function($planentries_query) use($createdAt) { 
             $planentries_query->where('created_at', $createdAt); 
            } 
           ]); 
          }])->get(); 
+0

謝謝,這使我走上了正確的道路! –

+0

@Cengkuru Michael很高興我可以幫忙! :) –