簡體   English   中英

Laravel-僅從數據透視表中獲取數據

[英]Laravel - Get data from pivot table only if it appears in there

一個criteria belongsToMany Alerts ,反之亦然。

它們通過數據透視表alert_criteria 但是,條件和警報不必一定在數據透視表中。 如果滿足其他條件,則會添加它們。

這些列是:

alert_idcriteria_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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM