Php 使用查询生成器而不使用链接的laravel
我有一个有效的查询生成器:Php 使用查询生成器而不使用链接的laravel,php,laravel,laravel-4,Php,Laravel,Laravel 4,我有一个有效的查询生成器: $article = Page::where('slug', '=', $slug) ->where('hide', '=', $hidden) ->first(); 但是如果hidden等于1,我只想添加第二个where语句。我已经尝试了下面的代码,它显示了我试图做的事情的逻辑,但它不起作用 $article = Page::where('slug',
$article = Page::where('slug', '=', $slug)
->where('hide', '=', $hidden)
->first();
但是如果hidden等于1,我只想添加第二个where语句。我已经尝试了下面的代码,它显示了我试图做的事情的逻辑,但它不起作用
$article = Page::where('slug', '=', $slug);
if ($hidden == 1) {
$article->where('hide', '=', 1);
}
$article->first();
我使用的是Laravel4,但我认为问题仍然存在于Laravel3。是的,Elount和查询生成器有点“明白了”。请尝试下面的代码;)
注意在条件中分配$query。这是因为第一个(静态调用)将不同的对象返回给条件中的查询对象。我认为,由于最近的一次犯罪,有一种方法可以避免这种情况:
$query = Page::where('slug', '=', $slug)->query();
这将返回查询对象,您可以按照正常方式执行所需操作(而不是重新分配$query)
希望有帮助
$query = Page::where('slug', '=', $slug)->query();