2015-10-19 59 views
0

当使用单口才表查询这样如何打破雄辩查询::有()

$query = Lists::query(); 

我们可以在一个临时变量保存,但是当我们使用多个表这样

Lists::with(['tags','keyproduct','productcatalog']); 

为什么我们不能将它保存在上面的变量中?我想在这样一个临时变量来存储的原因是因为我在想查询条件语句像

if($something==true) 
    $query->where('type'=>'Paid') 

任何想法如何打破使用::有()查询?

回答

0

你可以给whrehas

$posts = List::whereHas('comments', function($q) 
{ 
if($something==true){ 
$q->where('content', 'like', 'foo%'); 
} 
})->get(); 

详情http://laravel.com/docs/5.0/eloquent#querying-relations

+0

乌姆条件怎么样在其他表中与何是if语句的查询年? – zaw

+0

这是一个例子。 '$ query'包含你的子查询供你使用。例如,你可以在if语句中包装一个'$ query-> where()'。 – Tim

+0

@zaw我更新了我的code.Please现在看到 –