2015-04-07 158 views
2

我不知道它實際上是更多鈔票,但它可能是這樣的:Laravel:通過關係進行搜索?

模式:

User 
id, name, last_name, etc. 

Condition 
id, name 

User_Condition 
id, user_id, condition_id, active, start_date, end_date 

我希望能夠做同樣的事情到這一點:$user->conditions->active()$user->conditions->active它返回任何行/關係其中active = 1

回答

1

你想獲得的所有積極條件用戶,對不對?

如果是這樣,你可以通過以下查詢得到它們。

echo $user->conditions()->where('user_condition.active', true)->get(); 

確保您在user model

public function conditions() 
    { 
     return $this->belongsToMany('App\Condition', 'user_condition'); 
    } 
一個 belongsToMany關係
0

您正在尋找一個with過濾器,也被稱爲Eager Load Constraints

$user->with['UserCondition'=>function($query){ 
           return $query->whereActive(1); 
          } 
      ]; 

(假設UserCondition關係已經在User口才模型被設定)。

來源:http://laravel.com/docs/5.0/eloquent