Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/joomla/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 使用查询生成器而不使用链接的laravel_Php_Laravel_Laravel 4 - Fatal编程技术网

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();