[英]Laravel - Get data from pivot table only if it appears in there
一個criteria
belongsToMany
Alerts
,反之亦然。
它們通過數據透視表alert_criteria
。 但是,條件和警報不必一定在數據透視表中。 如果滿足其他條件,則會添加它們。
這些列是:
alert_id
和criteria_id
。
當前,這將獲取與用戶相關的所有criteria
:
public function getIndex()
{
$alerts = Criteria::with('coordinate', 'alerts', 'alertsCount', 'bedrooms')
->where('user_id', '=', Auth::user()->id)
->get();
$this->layout->content = View::make('users.alert.index',
array('alerts' => $alerts));
}
我想做的是
獲取出現在
alerts_criteria
數據透視表中的與用戶有關的所有條件。
任何幫助將不勝感激。
我相信您實際上想要這樣的東西:
Auth::user() // the current user...
->criteria() // get any related criteria
->has( 'alerts' ) // which have alerts
->get();
或者,如果您的用戶與條件無關:
Criteria::whereUserId( Auth::id() ) // Criteria where user_id = Auth::id()
->has( 'alerts' ) // which have alerts
->get();
我通過使用以下方法解決了這個問題:
Criteria::find(Auth::user()->id)
->alerts()
->get();
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.