2017-03-06 8 views
1

こんにちはでmorpManyを使用Laravelは、現在、私は2つのモデル CreditLogとユーザーを持って、私はlaravelフレームワーク における多関係を実装していますwhere句

Creditlogは、Userモデル

class CreditLog extends Model 
{ 
... 


    public function sourceable() 
    { 
     return $this->morphTo(); 
    } 

... 
} 

にsourceableあるプロパティsourceableを、持っていますそして、ユーザーiにこのような関係があります

class User extends Authenticatable 
{ 

    public function creditLogs() 
    { 
     return $this->morphMany('App\Models\CreditLog', 'sourceable'); 
    } 

} 

そして、いくつかのコントローラで私はユーザーを取得する必要がありますクレジットログ

$user = User::find($id); 
$CreditLogs = $user->creditLogs; 

は私がmorphManyこの

$CreditLogs = $user->creditLogs 
         ->where('created_at', '>=', $inputReq['start']) 
         ->where('created_at', '<=', $inputReq['end']); 

のようにパラメータを追加laravelできることを意味し、creditLogsメソッドのパラメータを追加することができますが、とload()メソッドを使用することができます応答のために、質問

答えて

1

をありがとうlazy eager loading

$user->load(['creditLogs' => function ($query) use($inputReq) { 
     $query->where('created_at', '>=', $inputReq['start']) 
       ->where('created_at', '<=', $$inputReq['end']); 
    }]); 

それともConstraing eager loading

with() methidを使用
関連する問題