2016-11-04 80 views
1

我在兩個表之間有多對一的關係,但是如何使用'with()'方法來引入一條關聯的記錄,而不是所有這些記錄? (例如,哪個日期與當前日期最接近)?雄辯'with()'只有1條記錄?

回答

2

您可以使用該方法with()封閉查詢的關係。

$users->with(['address' => function($q) use ($someVariable) { 
    $q->where('zip', '=', $someVariable); 
}); 
+0

好 - 我可以限制該子查詢爲一個結果嗎? – daninthemix

+0

老實說,我從來沒有嘗試過,但我想你可以將所有常用方法鏈接到閉包中的查詢上。如果您不能限制查詢中的結果,則可以對它們進行排序,然後從返回的集合中選擇第一個結果。 – Jeemusu

+0

剛剛測試過它,第一次()在子查詢中工作:)謝謝 – daninthemix

0

您可以通過以下方式使用with()方法。

$user->with(['address'])->findWhere(['zip'=>$someVariable]);